You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm trying to use EL in my tiles configuration. But the end result is after making sure the correct classes (JSP 2.1 and tiles-el) were on the classpath for Spring to attempt to setup an ELAttributeFactory for tiles the EL stuff isn't working. I can see it is still using the DirectAttributeEvaluator
To me it seems like the setup in org.springframework.web.servlet.view.tiles2.TilesConfigurer via the TilesElActivator is only calling setAttributeEvaluatorFactory on the BasicTilesContainer.
But it looks like it needs to be called at least on the BasicRendererFactory as well ... and probably on all the classes that implement AttributeEvaluatorFactoryAware.... all of which are setup through the BasicTilesContainerFactory
What I think may fix it
in TilesConfigurer$SpringTilesContainerFactory override the BasicTilesContainerFactory#createAttributeEvaluatorFactory method to create the ELAttributeEvaluator earlier in the process ... and just remove the TilesELActivator stuff ... but the comments in the code seem to indicate that it was a conscious decision not to set it up that way.
I've fixed this through a revision of TilesElActivator which should work fine against Tiles 2.2 now. However, this hasn't been integration-tested yet - would be great if you could give it a try! This will be included in tonight's 3.0.3 snapshot (CI build 705, to be available from http://static.springsource.org/downloads/nightly/snapshot-download.php?project=SPR).
Quick reminder: The 3.0.3 release is just around the corner now - scheduled for public release tomorrow. If you get the chance, it would be really great to give this TilesConfigurer revision a try before the release so that we know that the issue is actually fixed.
Steve Mosley opened SPR-7251 and commented
I'm trying to use EL in my tiles configuration. But the end result is after making sure the correct classes (JSP 2.1 and tiles-el) were on the classpath for Spring to attempt to setup an ELAttributeFactory for tiles the EL stuff isn't working. I can see it is still using the DirectAttributeEvaluator
To me it seems like the setup in org.springframework.web.servlet.view.tiles2.TilesConfigurer via the TilesElActivator is only calling setAttributeEvaluatorFactory on the BasicTilesContainer.
But it looks like it needs to be called at least on the BasicRendererFactory as well ... and probably on all the classes that implement AttributeEvaluatorFactoryAware.... all of which are setup through the BasicTilesContainerFactory
What I think may fix it
in TilesConfigurer$SpringTilesContainerFactory override the BasicTilesContainerFactory#createAttributeEvaluatorFactory method to create the ELAttributeEvaluator earlier in the process ... and just remove the TilesELActivator stuff ... but the comments in the code seem to indicate that it was a conscious decision not to set it up that way.
Affects: 3.0.2
Referenced from: commits 65655b9
The text was updated successfully, but these errors were encountered: