2

我制作了一个自定义标签,以验证一些用户会话状态。但是,<c:url>在我的自定义标签正文中不起作用。JSP:

<a href="<c:url value="/user/logout/"/>">Logout</a> <!-- THIS IS OK! -->
<bs:ifaccount logged="true">
   <--  THIS JUST FLUSHES <C:URL VALUE=... TO WEB BROWSER -->
   <a href="<c:url value="/user/logout/"/>">Logout</a> 
</bs:ifaccount>

标签声明:

<tag>
    <name>ifaccount</name>
    <tag-class>bs.tags.IfLoggedTagHandler</tag-class>
    <body-content>tagdependent</body-content>
    <attribute>
       <name>logged</name>
       <type>java.lang.Boolean</type>
       <required>true</required>
    </attribute>
</tag>

标签是用SimpleTagSupport & getJspContent().invoke(null)实现的

4

1 回答 1

1

您的问题出在您的标签声明中:

<body-content>tagdependent</body-content>

您指定您的标签仅包含文本。将其更改为:

<body-content>scriptless</body-content>

允许解析其他标签。

于 2013-07-20T08:36:51.100 回答