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

时间:2010-07-13 22:10:55

标签: jsp spring-mvc struts jstl javabeans

我正在将旧的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 setjsp:useBean,但要么是他们错误的方式,要么是我不正确地实施它们。

感谢您的任何建议!

2 个答案:

答案 0 :(得分:2)

使用var的{​​{1}}属性。

fmt:message

这基本上将与密钥关联的值导出到名为<fmt:message bundle="${example_Labels}" key="example_field" var="example_title" /> 的页面范围变量中。您可以稍后在页面中以通常的EL方式打印它:

example_title

或者,如果您仍处于JSP-2.0之前,不支持模板文本中的EL(请考虑升级..),请使用title="${example_title}" 显示它:

<c:out>

答案 1 :(得分:1)

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

<%
  title = ${example_title}
%>

如果要打印,可以使用<c:out>标记

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

Here's关于JSTL的快速链接