我需要使用一些链接作为参数<spring:message />
并使用<c:set/>
它.要使用相对于contextPath的链接<c:url>
.为什么<c:url/>
在<c:set/>
内部使用如下所示不起作用?
<c:set value='<c:url value="/x"/>' var='doc1'/>
<spring:message code="doc.link" arguments="${doc1}"/> <%-- ${doc1} is empty --%>
Run Code Online (Sandbox Code Playgroud)
Simlar使用<a href/>
效果很好:
<c:set value='<a href="/fullurl/x">here</a>' var='doc1'/>
<spring:message code="doc.link" arguments="${doc1}"/>
Run Code Online (Sandbox Code Playgroud)
messages.properties:
doc.link = Doc is {0}
Run Code Online (Sandbox Code Playgroud)
编辑 我需要完全像这样的工作:
<c:set value='<a href="<c:url value="/x"/>">here</a>' var='doc1'/>
Run Code Online (Sandbox Code Playgroud)
Bal*_*usC 14
把它放在标签体中:
<c:set var="doc1"><a href="<c:url value="/x" />">here</a></c:set>
<spring:message code="doc.link" arguments="${doc1}"/>
Run Code Online (Sandbox Code Playgroud)
或者,如果您想要XML良好的形式:
<c:url var="url" value="/x" />
<c:set var="doc1"><a href="${url}">here</a></c:set>
<spring:message code="doc.link" arguments="${doc1}"/>
Run Code Online (Sandbox Code Playgroud)
<c:url>
可以选择将结果设置为变量,而不是输出结果。只需设置var
属性。
<c:url value="..." var="doc1" />
Run Code Online (Sandbox Code Playgroud)