struts中action的通过传过来的参数判断跳转的两种方法
我原来用的方法:
struts-config.xml
<action name="legalAidForm" path="/legalaid/legalAidSeAction" scope="session" type="sms.legalaid.LegalAidSeAction" validate="false">
<forward name="legalAid.select_1.success" path="/legalaid/selectOneIndex1.jsp"/>
<forward name="legalAid.select_1.fail" path="/legalaid/fail.jsp"/>
<forward name="legalAid.select_2.success" path="/legalaid/selectOneIndex2.jsp"/>
<forward name="legalAid.select_2.fail" path="/legalaid/fail.jsp"/>
<forward name="legalAid.select_3.success" path="/legalaid/selectOneIndex3.jsp"/>
<forward name="legalAid.select_3.fail" path="/legalaid/fail.jsp"/>
<forward name="legalAid.select_4.success" path="/legalaid/selectIndex.jsp"/>
<forward name="legalAid.select_4.fail" path="/legalaid/fail.jsp"/>
<forward name="legalAid.select_5.success" path="/legalaid/selectone.jsp"/>
<forward name="legalAid.select_5.fail" path="/legalaid/fail.jsp"/>
<forward name="legalAid.select_6.success" path="/legalaid/legalAidindex.jsp"/>
<forward name="legalAid.select_6.fail" path="/legalaid/fail.jsp"/>
<forward name="legalAid.previouspage.success" path="/legalaid/fy.jsp"/>
<forward name="legalAid.previouspage.fail" path="/legalaid/fail.jsp"/>
</action>
传入参数的jsp
<html:link page="/legalaid/legalAidSeAction.do?action=select6">网站首页测试
</html:link>
判断的Action
String action = request.getParameter("action");
if (action.equalsIgnoreCase("select6")) {
allList = bean.select_6();
rowSetPage = new RowSetPage(allList, 6);
pageList = rowSetPage.getPageList();
if (pageList != null) {
session.setAttribute("pageList6", pageList);
session.setAttribute("page", rowSetPage);
return mapping.findForward("legalAid.select_6.success");
} else {
return mapping.findForward("legalAid.select_6.fail");
}
}
现在的方法是在struts-config.xml中的<action>中增加一个参数parameter="action"
struts-config.xml
<action name="legalAidForm" parameter="action" path="/legalaid/legalAidSeAction" scope="session" type="sms.legalaid.LegalAidSeAction" validate="false">
<forward name="legalAid.select_1.success" path="/legalaid/selectOneIndex1.jsp"/>
<forward name="legalAid.select_1.fail" path="/legalaid/fail.jsp"/>
<forward name="legalAid.select_2.success" path="/legalaid/selectOneIndex2.jsp"/>
<forward name="legalAid.select_2.fail" path="/legalaid/fail.jsp"/>
<forward name="legalAid.select_3.success" path="/legalaid/selectOneIndex3.jsp"/>
<forward name="legalAid.select_3.fail" path="/legalaid/fail.jsp"/>
<forward name="legalAid.select_4.success" path="/legalaid/selectIndex.jsp"/>
<forward name="legalAid.select_4.fail" path="/legalaid/fail.jsp"/>
<forward name="legalAid.select_5.success" path="/legalaid/selectone.jsp"/>
<forward name="legalAid.select_5.fail" path="/legalaid/fail.jsp"/>
<forward name="legalAid.select_6.success" path="/legalaid/legalAidindex.jsp"/>
<forward name="legalAid.select_6.fail" path="/legalaid/fail.jsp"/>
<forward name="legalAid.previouspage.success" path="/legalaid/fy.jsp"/>
<forward name="legalAid.previouspage.fail" path="/legalaid/fail.jsp"/>
</action>
传入参数的JSP还是没有变
判断的Action中去掉从session中取值,去掉判断,方法的名字就是action的参数值
public ActionForward index1(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
allList = bean.select6();
rowSetPage = new RowSetPage(allList, 6);
pageList = rowSetPage.getPageList();
if (pageList != null) {
session.setAttribute("pageList6", pageList);
session.setAttribute("page", rowSetPage);
return mapping.findForward("legalAid.select_6.success");
} else {
return mapping.findForward("legalAid.select_6.fail");
}
}
两种方法都可以实现Action页面跳转,后一种方法怪怪的,创建了方法,但是,没有调用这个方法啊?谁来调用呢?
还是有点不明白