• struts---最简单实例步骤


    1.第一步web.xml 配置struts2的过滤器

    <filter>
          <!-- 过滤器名字 -->
          <filter-name>struts2</filter-name>
          <!-- 过滤器支持的struts2类 -->
          <!-- <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> -->
          <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
          <!--  -->
    </filter>
    <filter-mapping>
          <!-- 过滤器拦截名字 -->
          <filter-name>struts2</filter-name>
          <!-- 过滤器拦截文件路径名字 -->
          <url-pattern>/*</url-pattern>
    </filter-mapping>

    2.根据配置的过滤器,中间键加载struts.xml文件

     <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">
    
    <struts>
        <!-- 指定Web应用的默认编码集,相当于调用HttpServletRequest的setCharacterEncoding方法 -->
        <constant name="struts.i18n.encoding" value="UTF-8"/>
        
        <!-- 设置动态调用方法 -->
        <constant name="struts.enable.DynamicMethodInvocation" value="true" />
    
        <!-- 该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts 2处理。    
        如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开。 -->
        <constant name="struts.action.extension" value="action"/>
       
        <!-- 开发阶段设置 -->
        <!-- 设置浏览器是否缓存静态内容,默认值为true,开发阶段最好false -->
        <constant name="struts.serve.static.browserCache " value="false"/>
    
        <!-- 当struts的配置文件修改后,系统是否自动重新加载该文件,
        默认值为false,开发阶段最好true -->
        <constant name="struts.configuration.xml.reload" value="true"/>
    
        <!-- 开发模式下设为true,这样可以打印出更详细的错误信息 -->
        <constant name="struts.devMode" value="true"/>
        
        
        
        <include file="struts-user.xml" />
    </struts>

    3.第三步为每一个用户实例化一个action,并将表单数据映射到action属性中,跳转到相应的action进行处理

    public class UserAction extends ActionSupport implements ServletRequestAware,ServletResponseAware{
    
        private User user;
        private HttpServletRequest request;
        private HttpServletResponse response;
        
        public User getUser() {
            return user;
        }
        public void setUser(User user) {
            this.user = user;
        }
    
        public String execute() throws Exception {
            System.out.println(user.getName());
            System.out.println(user.getPwd());
            return SUCCESS;
        }
    
        public String login() throws Exception {
            
            return SUCCESS;
        }
    
        
    
        public void setServletRequest(HttpServletRequest request) {
            this.request = request;
            
        }
    
        public void setServletResponse(HttpServletResponse response) {
            this.response = response;
            
        }
        
        
        
        
        public HttpServletRequest getRequest() {
            return request;
        }
        public void setRequest(HttpServletRequest request) {
            this.request = request;
        }
        public HttpServletResponse getResponse() {
            return response;
        }
        public void setResponse(HttpServletResponse response) {
            this.response = response;
        }
    
    
    }

    4.第四步返回result,Struts2设置attribute属性并转发页面

    <?xml version="1.0" encoding="UTF-8" ?>
    
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">
    
    <struts>
       <package name="user" namespace="/user" extends="struts-default">
               <action name="userAction" method="execute"
                   class="com.seecen.action.UserAction">
                   <result name="success">/index.jsp</result>
                   <result name="input">/input.jsp</result>
               </action>
       </package>
    
    </struts>
  • 相关阅读:
    Direct3D 光照和材质
    UGUI 过渡动画插件,模仿NGUI的Tween (转载)
    Unity 功夫猫
    LinkedList和List在三种简单算法中效率比较
    学习Modern UI for WPF
    H3 BPM Sheet表单 NTKO功能使用说明
    H3 BPM MVC表单SheetOffice控件使用分享
    H3 BPM初次安装常见错误详解5-7
    吕学敏:全面、细致功能锻造灵活审批
    华陆工程——业务流程管理方案
  • 原文地址:https://www.cnblogs.com/cfb513142804/p/4234113.html
Copyright © 2020-2023  润新知