• Struts学习DispatchAction之入门篇


    步骤:

    一、创建JavaWeb工程;

    二、创建FormBean代码如下

    /*
     * Generated by MyEclipse Struts
     * Template path: templates/java/JavaClass.vtl
     */
    package com.zkj.struts.form;
    
    import org.apache.struts.action.ActionForm;
    
    /**
     * MyEclipse Struts Creation date: 04-24-2015
     * 
     * XDoclet definition:
     * 
     * @struts.form name="userForm"
     */
    public class UserForm extends ActionForm {
        private String username;
        private String passwd;
    
        public String getUsername() {
            return username;
        }
    
        public void setUsername(String username) {
            this.username = username;
        }
    
        public String getPasswd() {
            return passwd;
        }
    
        public void setPasswd(String passwd) {
            this.passwd = passwd;
        }
    }

    三、创建DispatchAction

    /*
     * Generated by MyEclipse Struts
     * Template path: templates/java/JavaClass.vtl
     */
    package com.zkj.struts.action;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    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.zkj.struts.form.UserForm;
    
    /**
     * MyEclipse Struts Creation date: 04-24-2015
     * 
     * XDoclet definition:
     * 
     * @struts.action path="/userDispatch" name="userForm" scope="request"
     */
    public class UserDispatchAction extends DispatchAction {
        /*
         * Generated Methods
         */
    
        /****
         * 使用分派aciton, 往往需要自己重新命名函数,不改也可以 该函数用于响应登陆请求
         */
        public ActionForward userLogin(ActionMapping mapping, ActionForm form,
                HttpServletRequest request, HttpServletResponse response) {
            UserForm userForm = (UserForm) form;// TODO Auto-generated method stub
    
            if ("123".equals(userForm.getPasswd()))
                return mapping.findForward("ok");
            else
                return mapping.findForward("relogin");
        }
    
        /****
         * 使用分派aciton, 往往需要自己重新命名函数,不改也可以 该函数用于响应注销请求
         */
        public ActionForward userLogout(ActionMapping mapping, ActionForm form,
                HttpServletRequest request, HttpServletResponse response) {
            UserForm userForm = (UserForm) form;// TODO Auto-generated method stub
            
            request.getSession().invalidate(); //所有Session一次清空
            
            return mapping.findForward("relogin");
        }    
        
    }

    三、struct-config.xml

    视图结构:

    代码:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd">
    
    <struts-config>
      <form-beans >
        <form-bean name="userForm" type="com.zkj.struts.form.UserForm" />
    
      </form-beans>
    
      <global-exceptions />
      <global-forwards />
      <!--parameter参数用于区分用户的不同请求-->
      <action-mappings >
        <action
          attribute="userForm"
          input="/ok.jsp"
          name="userForm"
          parameter="direct"
          path="/userDispatch"
          scope="request"
          type="com.zkj.struts.action.UserDispatchAction"
          validate="false"
          cancellable="true">
          <forward name="relogin" path="/login.jsp" />
          <forward name="ok" path="/ok.jsp" />
        </action>
    
    
      </action-mappings>
    
      <message-resources parameter="com.zkj.struts.ApplicationResources" />
    </struts-config>
    View Code

    四.跳转写法,及参数与Action跳转函数名对应

  • 相关阅读:
    PKUSC 2018 题解
    [bzoj 1758] 重建计划
    bzoj 5329 [SDOI2018] 战略游戏
    bzoj 5285 [HNOI2018] 寻宝游戏
    Django 之认证模块
    Django之form表单
    Django 之AJAX
    Django 之中间组件
    Django之 Cookie,Session
    Django之F和Q查询等其他查询
  • 原文地址:https://www.cnblogs.com/jiqiwoniu/p/4454768.html
Copyright © 2020-2023  润新知