gpt4 book ai didi

java - JSP 2 和 Servlet 2.4 破坏了我的自定义标签

转载 作者:行者123 更新时间:2023-11-30 05:10:02 25 4
gpt4 key购买 nike

我们最近在一个项目中切换到 Servlet 2.4 和 JSP 2,并且我们的自定义标记不再起作用。我们有这样的标签:

<myTags:someTag value="${x}" />

一旦进入标签,我们就评估 x bean 并从那里开始。现在评估直接在 JSP 中进行,我们得到一个为 value 属性设置的字符串(显然是 x.toString())。

标签不多,我可以在几天内调整它们,但我该怎么做呢?我在网上找不到任何内容(或者也许我没有在应该查找的地方查找)。

如何将 x bean 传递到我的标记并在那里对其进行评估,并且不允许在 JSP 中对其进行评估?

附注我不想停用 EL 引擎

谢谢!

最佳答案

如果您重新声明web.xml作为Servlet 2.4如下

<web-app 
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">

tld文件为 JSP 2.0 taglib,如下所示:

<taglib 
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">

然后您可以添加 <rtexprvalue>true</rtexprvalue> TLD 文件中需要 EL 值的标记属性条目。例如

<attribute>
<name>value</name>
<rtexprvalue>true</rtexprvalue>
</attribute>

默认为false .

关于java - JSP 2 和 Servlet 2.4 破坏了我的自定义标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3754429/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com