评估JSTL标记中的Struts值

时间:2015-12-14 09:44:50

标签: jsp struts2 jstl el ognl

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

我正在尝试实现字符串格式化,即将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 个答案:

答案 0 :(得分:1)

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

  2. Struts2 ValueStack通过StrutsRequestWrapper向JSTL公开:

      

    所有Struts请求都包含在此类中,该类提供简单的JSTL可访问性。这是因为JSTL使用请求属性,因此该类委托给值栈[...]

  3. 那么这应该足够了:

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