0

我创建了自定义标签,用于使用动态参数对 URL 进行编码和重写。例如:

<mytags:outUrl url="${value1}" id="${value2}" />

按预期工作(url是标准参数,id是第一个动态参数)。

是否也可以直接使用这样的动态参数名称?

<mytags:outUrl url="${var1}" ${name1}="${var2}" />

我知道可以使用<jsp:attribute>,但是代码太多:

<mytags:outUrl url="${var1}"><jsp:attribute name="${name1}">${var2}</jsp:attribute></mytags:outUrl>
4

1 回答 1

0

您正在重新发明 JSTL,它已经有一个标准标签来做到这一点:

<c:url value="${someUrl}">
    <c:param name="${someName}" value="${someValue}"/>
    <c:param name="${someOtherName}" value="${someOtherValue}"/>
</c:url>

回答您的问题:不,您建议的语法不受支持。最接近您建议的是动态属性。请参阅http://www.javabeat.net/2009/02/dynamic-attributes-in-tag-file-in-jsp-2-0/http://www.coderanch.com/t/170429/java-例如,Web-Component-SCWCD/certification/Tutorial-Dynamic-Attributes

于 2013-06-30T13:26:10.953 回答