java - 我的 taglib 或 jSTL 首先评估哪个?

标签 java jsp jstl taglib

我有点困惑是否首先评估哪个。 jSTL 或我的自定义标记库。

这是一些片段。

<taglib>
   ...
   <tag>
     <name>my_tag</name>
     <tagclass>MyTagLib</tagclass>
     <bodycontent>JSP</bodycontent>
     <attribute>
        <name>attr1</name>
        <required>true</required>
        <rtexprvalue>true</rtexprvalue>
     </attribute>
</taglib>

tried to use it in jsp by:
...
pageContext.setAttribute("val", "actualValue");
...
<t:my_tag attr1="${val}"/>

public MyTagLib extends TagSupport{
   private String attr1;
   public void setAttr1( String str ){
       attr1 = str; // this returns "${val}". i was expecting "actualValue".
   }
   ...
}

我想知道如何获取 val 的实际值?

最佳答案

这里有一篇文章以连贯的方式解决了这个问题:

http://www.informit.com/articles/article.aspx?p=30946&seqNum=9

总之,默认情况下,EL 计算器不处理自定义标签的属性。如果您希望完成此操作,则需要编写标记处理程序类来执行此操作。

如果您不想这样做,您可以使用 <%= ... %>表达式代替。

关于java - 我的 taglib 或 jSTL 首先评估哪个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3899336/

相关文章:

java - 我的 "contains"算法有什么问题?

Java:按钮封装

java - 在另一个类的另一个方法中调用一个类的方法

jsp - JSP中的iframe错误处理

java - 使用 JSTL forEach 迭代 ArrayList 项

jsp - jSTL <c:foreach错误 “attribute items does not accept any expressions”

java - 将 JSP 转换为 JSTL

java - 比较具有大量属性的类的两个实例

java - 找不到 Struts 调度程序

java - JSTL 迭代列表