Struts2 从struts-1迁移到struts-2(<;bean:write>;,request.getAttribute(";attr1";),session.getAttribute(";attr2";)

Struts2 从struts-1迁移到struts-2(<;bean:write>;,request.getAttribute(";attr1";),session.getAttribute(";attr2";),struts2,struts,Struts2,Struts,假设用户对象存在于任何一个作用域中(PageContext、请求、会话、应用程序) 因此,为了在jsp中获得用户对象(来自任何一个作用域),下面的代码在struts1.X中工作得非常好 **<bean:write name="user" property="someProperty"/>** **** 因此,在struts-2中,我如何实现这一点,请提供任何建议 除了上面的一个,还有没有一种方法可以在struts-2中实现JSP中的以下代码 <% User

假设用户对象存在于任何一个作用域中(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
    <%}%>

//一些html代码
//一些html代码
//一些html代码
我相信通过使用struts-2标记,我可以使代码比使用上面的scriplets更简单、更清晰


那么,struts-2在上述方面的最佳功能是什么呢?请帮助我解决这个问题

${user.someProperty}
如果JSP EL不是您的jam:

<s:property value="user.someProperty" />

或者更明确的OGNL:

<s:property value="%{user.someProperty}" />

所有这些都包含在S2文件中;我强烈建议花一些时间阅读文档和教程,因为这是Struts 2 101。基本的东西

至于第二个完全不相关的问题,不应该通过scriptlet来处理。Scriptlet是一种代码味道。不要那样做

您需要使用
标记,它也在文档中

你会发现如果你退一步,仅仅学习你正在尝试使用的框架,事情会进行得更有效率