Search code examples
javajsp-tagsel

How to add custom VariableResolver to JSP Context in Jsp 2.0 to support special EL?


I'm building my own JSP Tag Library which need to support some features that Application developers can use like this:

<w:user-label id="usrlb" value="${session.user}"/>
<w:textbox id="tb" label="User Name" value="${usrlb.value.name}"/>

which means I want my EL can interact with my Tag declaration. and also I need to add stack concept into this library to support "id namespace" or something.

My current research leads me to wrap default JspFactory like this:

JspFactory.setDefaultFactory(new JspFactoryImpl(JspFactory.getDefaultFactory()));

Which could work in Tomcat5.5 although it's not a good idea. Is there any other more pretty way to do that?


Solution

  • You could have your <w:user-label /> tag class simply add a variable to one of the context' scopes (request, session, ...) so EL expressions can find it? If the bean you add to the scope follows JavaBeans conventions, nested properties should be available using EL.