我在这里做错了什么:
<custom:tag param="<c:out value="${param.val}"/>" >
...
</custom:tag>
我一直在
test.jsp:6: expected `>' at ``$'' (for tag `<custom:tag>' at line 6). The XML tag syntax is: <tag attr1='value1'>
但这很好:
<a href="<c:out value="${param.val}"/>">link</a>
显然我想避免
<custom:tag param="<%= request.getParameter("val") %>" />
在没有c:out
的情况下执行此操作也不起作用,我的jstl不了解<%@ page isELIgnored ="false" %>
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>...</short-name>
<uri>...</uri>
<tag>
<name>...</name>
<tag-class>...</tag-class>
<description>...</description>
<attribute>
<name>attr1</name>
<required>true</required>
</attribute>
<attribute>
<name>param</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
答案 0 :(得分:0)
嘿,为什么要添加
<c:out value="${param.val}"/>
在param中
<custom:tag param="<c:out value="${param.val}"/>" >
...
</custom:tag>
你只需要添加
${param.val}
如下所示 ...
答案 1 :(得分:-2)
尝试使用。
<custom:tag param="<c:out value='${param.val}'/>" >
...
</custom:tag>
这只会修复语法,因此您不会收到您在顶部发布的错误消息。 使用EL应该可行。 EL原本是JSTL的一部分。 什么只是一个简单的标签(没有自定义标签),如
<c:out value='${"Hello JSTL"}'/>
打印?