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

2

1

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?

Scarecrow answered 30/12, 2009 at 11:6 Comment(0)
B
2

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.

Beatriz answered 30/12, 2009 at 11:13 Comment(0)
A
0

You can just define your tag attributes with <rtexprvalue>false</rtexprvalue>, then you will receive expressions as Strings which you can parse manually.

Aalesund answered 30/12, 2009 at 12:8 Comment(1)
I think it's a bad idea unless you're 100% convinced the use case is not supported at all by the existing API.Beatriz

© 2022 - 2024 — McMap. All rights reserved.