Struts2 如何實現同一個action不同方法進行傳值
阿新 • • 發佈:2019-02-16
我有一個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>
這應該是基礎吧