从 struts-1 迁移到 struts-2(<bean:write>, request.getAttribute("attr1"),session.getAttribute("attr2"))
Migrating from struts-1 to struts-2(<bean:write>, request.getAttribute("attr1"),session.getAttribute("attr2"))
假设用户对象存在于任一范围(PageContext、请求、会话、应用程序)
所以要在 jsp 中获取用户对象(来自任何一个范围),下面的代码在 struts1.X
中工作得非常好
**<bean:write name="user" property="someProperty"/>**
所以在struts-2中我该如何实现,请提供任何建议
除了上面那个,有没有办法在struts-2中实现下面的代码JSP
<%
User user = (User)session.getAttribute("user");
if(null != user){%>
// some html code
<%}%>
<%
if(null != user.getSomeProperty() && "".equals(user.getSomeProperty())){%>
//some html code
<%}%>
<%
if(null != user.getSomeProperty() && "prop1".equals(user.getSomeProperty())){%>
//some html code
<%}%>
我相信通过使用 struts-2 标签,我可以使代码更简单、更清晰,而不是使用上面的脚本。
所以 struts-2 中最好的东西是什么,请帮帮我
<bean:write name="user" property="someProperty" />
等价于:
${user.someProperty}
如果 JSP EL 不适合你:
<s:property value="user.someProperty" />
或者更明确的 OGNL:
<s:property value="%{user.someProperty}" />
所有这些都包含在 S2 文档中;我强烈建议您花一些时间通读文档和教程,因为这是 Struts 2 101. 基本内容。
至于你的第二个完全不相关的问题,这应该不通过小脚本来处理。 Scriptlet 是一种代码味道。不要那样做。
您需要使用 <s:if >
标签,它在文档中 也 。
如果你退后一步,只学习你正在尝试使用的框架,你会发现事情进展得更有效率。
假设用户对象存在于任一范围(PageContext、请求、会话、应用程序)
所以要在 jsp 中获取用户对象(来自任何一个范围),下面的代码在 struts1.X
中工作得非常好**<bean:write name="user" property="someProperty"/>**
所以在struts-2中我该如何实现,请提供任何建议
除了上面那个,有没有办法在struts-2中实现下面的代码JSP
<%
User user = (User)session.getAttribute("user");
if(null != user){%>
// some html code
<%}%>
<%
if(null != user.getSomeProperty() && "".equals(user.getSomeProperty())){%>
//some html code
<%}%>
<%
if(null != user.getSomeProperty() && "prop1".equals(user.getSomeProperty())){%>
//some html code
<%}%>
我相信通过使用 struts-2 标签,我可以使代码更简单、更清晰,而不是使用上面的脚本。
所以 struts-2 中最好的东西是什么,请帮帮我
<bean:write name="user" property="someProperty" />
等价于:
${user.someProperty}
如果 JSP EL 不适合你:
<s:property value="user.someProperty" />
或者更明确的 OGNL:
<s:property value="%{user.someProperty}" />
所有这些都包含在 S2 文档中;我强烈建议您花一些时间通读文档和教程,因为这是 Struts 2 101. 基本内容。
至于你的第二个完全不相关的问题,这应该不通过小脚本来处理。 Scriptlet 是一种代码味道。不要那样做。
您需要使用 <s:if >
标签,它在文档中 也 。
如果你退后一步,只学习你正在尝试使用的框架,你会发现事情进展得更有效率。