2015-12-14 66 views
1

我目前正在为构建在Struts 2上的应用程序开发语言包。语言包在属性文件中定义,该文件将由前端JSP通过JSTL(FMT标签)访问, 。评估JSTL标签内的Struts值

我试图实现类似于字符串格式化的操作,即将一个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> 

但是,链接不正确地呈现。我如何实现这一目标?

回答

1
  1. JSTL使用${}(EL);

  2. Struts2的值栈通过StrutsRequestWrapper暴露于JSTL:

    所有的Struts请求都缠绕有此类,它提供简单JSTL可接近性。这是因为JSTL与工作要求的属性,所以这个类委托给值栈[...]

那么这应该足够了:

<fmt:message key="userprofile.link.text"> 
    <fmt:param value='/profile/${userBean.id}'/> 
</fmt:message> 
+0

这工作,太感谢了。 (:也会检查链接。 –