<form method="post" action="/Strust/loginAll.do?flag=LoginUser" autocomplete="on">
<a href="/Strust/loginAll.do?flag=LoginOut">退出</a>
4.flag后面的名字与dispatchAction类中定义的方法名相同,从而达到调用的效果
struts-config.xml文件中:<global-forward name=”golbal” path=””></global-forward>
所谓全局跳转就是所有的action都能跳转到该页面
所谓局部跳转就是指定action能跳转该页面
import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.actions.DispatchAction; import com.jinner.domain.Users; import com.jinner.forms.userForm; import com.jinner.service.UserService; public class LoginClass extends DispatchAction { /** * @author 76429 * 使用分派action,需要自己重新命名函数 */ public ActionForward LoginUser(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // 用于响应登录请求 // 把form转为对应的UserForm对象 userForm userForm = (userForm) form; System.out.println("用户名:" + userForm.getUserName()); // 简单认证 UserService userService = new UserService(); Users user = new Users(); user.setUsername(userForm.getUserName()); user.setPassword(userForm.getPasswd()); if (userService.checkUser(user)) { return mapping.findForward("success"); // 转发非重定向,request能用 } else { return mapping.findForward("fail"); } } public ActionForward LoginOut(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // 用于响应退出请求 //把session清空 request.getSession().invalidate(); return mapping.findForward("login"); } }
<action-mappings> <action path="/loginAll" name="userform" type="com.jinner.actions.LoginClass" parameter="flag"> <!-- parameter用来区分用户的不同请求 (用于DispatchAction) --> <!-- 配置跳转 --> <!-- name为结果 --> <forward name="success" path="/WEB-INF/success.jsp"></forward> <forward name="fail" path="/WEB-INF/fail.jsp"></forward> <forward name="login" path="/WEB-INF/login.jsp"></forward> </action> </action-mappings>
原文:https://www.cnblogs.com/jinner/p/10372192.html