我创建了自定义标记,用于编码和重写带动态参数的网址。例如:
<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>
答案 0 :(得分: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。