2010-09-01 60 views
0

如何访问JSTL标记内的JSP标记属性值?在下面的代码中,我想访问url属性并测试它是否为空。我正在使用JSTL 1.0规范。在JSTL中访问JSP标记的属性

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> 
<%@ attribute name="url" required="false"%> 

<c:if test="${!empty url}"> 
    ... 
</c:if> 

回答

0

如果您正在创建标记文件,那么您至少使用了JSP 2.0--这意味着您应该至少使用JSTL 1.1。无论如何,attribute指令应创建一个与其name属性具有相同名称的页面作用域变量(除非它是可选的并且未提供)。那么,你能提供关于你正在观察的错误和/或输出的更多细节吗?

+0

当然。当我执行引用标签的.JSP时,对于前面提到的代码(称为url.tag),我会收到下面的错误消息。 url属性被设置/提供给标签。 错误:oracle.jsp.parse.JspParseException:/WEB-INF/tags/url.tag:第9行, 错误:不支持表达式语言编译时间属性测试 – Ted 2010-09-01 02:13:55

+0

更新到JSTL 1.1(请注意taglib uris)并确保您的web.xml匹配您的容器支持的最新servlet版本。您使用的是哪个应用程序服务器(包括其版本)? – kschneid 2010-09-01 03:40:44

+0

感谢您的建议。在将JSTL更新到1.1.2之后,代码将起作用。 – Ted 2010-09-02 15:00:12