2

我在这里做错了什么:

<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" %>

摘自 tld

<?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>
4

2 回答 2

0

嘿,你为什么要添加

<c:out value="${param.val}"/>

在参数中

<custom:tag param="<c:out value="${param.val}"/>" >
...
</custom:tag>

你只需要添加

${param.val} 

在参数如下...

于 2014-01-14T02:29:56.667 回答
-2

尝试使用。

<custom:tag param="<c:out value='${param.val}'/>" >
   ...
</custom:tag>  

这将简单地修复语法,因此您不会收到您在顶部发布的错误消息。使用 EL 应该可以。EL 最初是 JSTL 的一部分。一个简单的标签(没有自定义标签)像什么

<c:out value='${"Hello JSTL"}'/>

打印?

于 2013-10-15T16:35:48.487 回答