1

我正在构建自己的 JSP 标记库,它需要支持应用程序开发人员可以使用的一些功能,如下所示:

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

这意味着我希望我的 EL 可以与我的标签声明交互。而且我还需要将堆栈概念添加到这个库中以支持“id 命名空间”或其他东西。

我目前的研究使我像这样包装默认的 JspFactory:

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

虽然这不是一个好主意,但它可以在 Tomcat5.5 中工作。还有其他更漂亮的方法吗?

4

2 回答 2

2

您可以让您的<w:user-label />标记类简单地将变量添加到上下文的范围之一(请求、会话、...),以便 EL 表达式可以找到它?如果您添加到作用域的 bean 遵循 JavaBeans 约定,那么嵌套属性应该可以使用 EL 获得。

于 2009-12-30T11:13:53.297 回答
0

您可以使用 定义标签属性<rtexprvalue>false</rtexprvalue>,然后您将收到可以手动解析的字符串形式的表达式。

于 2009-12-30T12:08:10.160 回答