我有一个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