让我们在任何一个范围(PageContext,request,session,application)中都存在用户对象
所以要在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,请帮帮我
答案 0 :(得分:1)
<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处理 not 。 Scriptlet是一种代码气味。不要那样做。
您需要在文档中使用<s:if >
标记 。
如果你退后一步,只是学习你想要使用的框架,你会发现事情变得更有效率。