相当于Struts 1.x“bean:define”标签?

问题描述 投票:0回答:2

我正在将旧的 Struts 1.x 应用程序转换为 Spring MVC,并且在某些 JSP 页面中,

bean:define
标记用于从资源包中获取字符串,然后在页面中稍后使用:

<bean:define id="example_title"><fmt:message bundle="${example_Labels}" key="example_field"/></bean:define>

然后:

title="<%=example_title%>"

我不确定等效的 JSTL(或者如果它甚至应该是 JSTL)标签应该是什么,以便消除 Struts 标签,任何人都可以提供建议吗? 我尝试过使用 JSTL

set
jsp:useBean
,但要么它们是错误的方法,要么是我实施不当。

感谢您的建议!

spring-mvc jsp jstl javabeans struts-1
2个回答
2
投票

使用

var
fmt:message
属性。

<fmt:message bundle="${example_Labels}" key="example_field" var="example_title" />

这基本上将与键关联的值导出到名为

example_title
的页面范围变量中。您可以稍后在页面中以通常的 EL 方式打印它:

title="${example_title}"

或者,如果您仍然使用 JSP-2.0 之前的版本,其中不支持模板文本中的 EL(考虑升级..),则使用

<c:out>
显示它:

title="<c:out value="${example_title}" />"

1
投票

您可以使用 ${} 表示法访问您定义的 bean

<%
  title = ${example_title}
%>

如果您想打印它,您可以使用

<c:out>
标签

<c:out value=${example_title}/>

这里关于 JSTL 的快速链接

© www.soinside.com 2019 - 2024. All rights reserved.