我目前正在为基于Struts 2的应用程序开发语言包。该语言包在属性文件中定义,前端JSP可以通过JSTL(FMT标记)对其进行访问。
我正在尝试实现类似String格式的功能,即将Struts值插入通过FMT标签检索的句子字符串中。
我的属性文件中定义了什么:
userprofile.link.text = <a href="{0}">Click here</a> to view your profile page.
从JSP的角度来看,
<fmt:message key="userprofile.link.text"> <fmt:param value='/profile/<s:property value="userBean.id"/>'/> </fmt:message>
但是,链接无法正确呈现。我该如何实现?
JSTL使用${}(EL);
${}
Struts2 ValueStack通过StrutsRequestWrapper暴露给JSTL :
所有Struts请求都使用此类包装,该类提供了简单的JSTL可访问性。这是因为JSTL使用请求属性,所以此类委托值堆栈[…]
那么这应该足够了:
<fmt:message key="userprofile.link.text"> <fmt:param value='/profile/${userBean.id}'/> </fmt:message>