我有一个action 并且里面有两个方法
如下:
public class MemberAction implements Action { private static final long serialVersionUID = 1L; private MemberUser mUser; public MemberUser getmUser() { return mUser; } public void setmUser(MemberUser mUser) { this.mUser = mUser; } MemberUserBiz biz = new MemberUserBizImpl(); RoleMenuBiz menubiz = new RoleMenuBizImpl(); /** * @return * 用户登录 */ @SuppressWarnings("unchecked") public String logIn() { if((mUser=biz.UserlogIn(mUser.getAccountNumber(),mUser.getPwd()))!=null) { sessionMap.put("mUser", mUser); return "logIn"; } else return "nologIn"; } /** * @return * 显示菜单目录 */ @SuppressWarnings("unchecked") public String showMenu() { List<Authority> menuList = new ArrayList<Authority>(); menuList=menubiz.checkMenu(mUser.getRoleId()); sessionMap.put("menuList", menuList); return "showMenu"; }
我原来 是想在同一个action里 不同的方法应该可以直接调用全局变量 mUser里面的值,可事实却是 showMenu()方法里面的mUser总是为null,
后来 在Struts.xml配置里面改成这样才可以
<action name="member_*" class="com.action.MemberAction" method="{1}">
<result name="logIn" type="chain">member_showMenu</result>
</action>
这应该是基础吧
原文地址:http://blog.csdn.net/u013147600/article/details/44339671