Jsp 相当于Struts 1.x“;bean:define";标签?
我正在将一个旧的Struts 1.x应用程序转换为Spring MVC,在一些JSP页面中,Jsp 相当于Struts 1.x“;bean:define";标签?,jsp,spring-mvc,struts,jstl,javabeans,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%>"
bean:define
标记用于从资源包中获取字符串,然后在后面的页面中使用:
<bean:define id="example_title"><fmt:message bundle="${example_Labels}" key="example_field"/></bean:define>
随后:
title="<%=example_title%>"
title=“”
为了去掉Struts标记,我不确定等价的JSTL(或者它是否应该是JSTL)标记应该是什么,有人能提供一个建议吗?我尝试过使用JSTLset
,和jsp:useBean
,但要么它们走错了路,要么我实现得不正确
谢谢你的建议 您可以使用${}符号访问定义的bean
<%
title = ${example_title}
%>
如果要打印,可以使用
标记
<c:out value=${example_title}/>
JSTL上的快速链接使用
fmt:message的var
属性
<fmt:message bundle="${example_Labels}" key="example_field" var="example_title" />
或者,如果您仍然使用JSP-2.0之前的版本,其中不支持模板文本中的EL(请考虑升级…),则使用
显示它:
title="<c:out value="${example_title}" />"
title=“”
我试过这样做:测试时我没有收到任何JSP错误,但页面呈现时标题值为空。这几乎就像var=“example\u title”没有被识别一样。该项目是JSP-2.0之前的版本,因为它将“${example_title}”作为一个文本字符串值,并将其用作标题。那么它可能不在同一范围内。您是否在包含页面(jsp:include
)中显示它?如果是,请在fmt:message
中添加scope=“request”
。include页面使用相同的请求。想法不错,但它位于同一页面内。以防万一,我尝试使用scope=page/request/session/application获得相同的结果。title=部分在标记中会有区别吗?所以我试着:你应该用
来代替。我把这个作为正确的答案。事实证明,该标记在使用${example_title}或“>呈现输出时存在一些问题,否则它会正常工作。如果我能找到解决该标记问题的方法,我会将其发布到此处供其他人使用。感谢您的输入!EL在scriptlet中不起作用,并且您忘记了c:out中的引号。
title="<c:out value="${example_title}" />"