Wednesday December 05, 2007
Spring MVC, JstlView and exposeContextBeansAsAttributes Did you know that Spring MVC's JstlView has a exposeContextBeansAsAttributes property you can use to expose all your Spring beans to JSTL? I didn't. To configure it, you configure your viewResolver as follows:
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="exposeContextBeansAsAttributes" value="true"/>
<property name="prefix" value="/"/>
<property name="suffix" value=".jsp"/>
</bean>
After doing this, any Spring bean can get referenced in JSTL with:
${beanId.getterMethodWithoutTheGetPrefix}
If you're using Spring 2.5a annotations and <context:component-scan>, you'll need to specify a "value" attribute on your annotations in order to reference them in JSTL. For example:
@Controller(value = "beanId")
@RequestMapping("/foo.html")
public class MyController extends SimpleFormController
...
@Component(value="testClass")
public class TestClass {
Pretty cool stuff. It'd be a lot more useful if you could call methods with parameters. Hopefully JUEL will solve that problem. JSTL's functions work, but I'd rather write ${foo.method('arg')} rather than ${taglib:callMethod(foo, 'method', 'arg')}.
Posted in Java
at Dec 05 2007, 06:34:41 PM MST
5 Comments
Search This Site
Recent Entries
- Wine Tasting in Napa Valley
- How to build a Shot-Ski
- Bus Project Update
- Farewell to the 2011-2012 Ski Season
- Cruising around the Western Caribbean
- Spring Break!
- A Spectacular Trip to Stockholm and Madrid
- Comparing Web Frameworks and HTML5 with Play Scala at Jfokus 2012
- Play Framework 2.0 with Peter Hilton at Jfokus
- Secure JSON Services with Play Scala and SecureSocial
Posted by Jacob Hookom on December 05, 2007 at 10:23 PM MST #
Jacob - I'd be more than happy to, especially if I can configure it as the default EL in Tomcat. To do this with JUEL, changes need to be made to Tomcat.
BTW, does JBoss EL allow HTML escaping by default?
Posted by Matt Raible on December 05, 2007 at 11:05 PM MST #
Posted by Pascal Alberty on December 06, 2007 at 01:24 AM MST #
Posted by Jacob Hookom on December 06, 2007 at 12:24 PM MST #
Posted by Matt Raible on December 06, 2007 at 04:06 PM MST #