Struts2配置详情

来源:互联网 发布:gamemaker for mac 编辑:程序博客网 时间:2024/05/16 14:16

Struts2配置详情 

GPR原则:登录


     给用户看一眼   get    
用户填写登录信息,点击登录 post
页面跳转欢迎界面 redirect
*可以将核心过滤器看成是Action类的中央调度器。
2.Struts.xml 节点详细讲解
   namspace作用:隔离不同的命名空间下的逻辑同名的Action


  几个文件的执行顺序
  1.default.property
  2.struts-default.xml
  3.struts-plugin.xml
  4.struts.xml
  5.struts.property
  6.web.xml


3.常量配置
    <!--修改Struts.xml,不用重启容器-->
    <constant name="struts.devMode" value="true" />


4.动态方法调用(DMI Dynamic Mehtod Invocation) RMI Remote Method Invocation 远程方法调用
  当一个Action中有多个业务方法的时候,我们要向让客户端请求能匹配到对应的方法,我们现在的做法
  定义多个Action节点,我们又想到了,如果Action节点很多,维护起来很不方便。
   1.开启动态方法调用
   
   2.配置


   通过!访问方法      actionName!list   actionName!del(Action类中的真实方法)  可能会注入
缺点:
5.通配符 *_*  万象归终  四两拨千斤
使用一个节点 实现整个软件所有的Action  best prectice  约定由于配置






6.ResultType  结果类型
  dispatcher  普通转发到视图页面 (默认值) ->转发
  redirect   重定向到视图页面
  redirectAction 重定向到Action
  chain    转发到Action
  plainText
  转发到Action :type="chain"
   <result name="list" type="chain">
                <param name="actionName">userActionResultAdd</param>
                <param name="namespace">/</param>
            </result>



案例:

Action类:

package cn.happy.struts04;import com.opensymphony.xwork2.ActionSupport;/** * Created by linlin on 2017/10/23. */public class FirstAction  extends ActionSupport{    public String list(){        System.out.println("list");    return "list";    }    public String del(){        System.out.println("del");        return "del";    }}

Struts-04 单独的

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"        "http://struts.apache.org/dtds/struts-2.0.dtd"><struts>    <constant name="struts.devMode" value="true"/>    <!--动态方法调用 默认 true-->   <!-- <constant name="struts.enable.DynamicMethodInvocation" value="false"/>-->    <package name="day-04" namespace="/" extends="struts-default">        <action name="list" class="cn.happy.struts04.FirstAction" method="list">            <result name="list">/day04/list.jsp</result>        </action>        <action name="del" class="cn.happy.struts04.FirstAction" method="del">            <result name="del">/day04/del.jsp</result>        </action>    </package></struts>



案例2:

package cn.happy.struts05;import com.opensymphony.xwork2.ActionSupport;/** * Created by linlin on 2017/10/23. */public class FirstAction extends ActionSupport{    public String list(){        System.out.println("list");    return "list";    }    public String del(){        System.out.println("del");        return "del";    }    public String add(){        System.out.println("add");        return "add";    }}

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"        "http://struts.apache.org/dtds/struts-2.0.dtd"><struts>    <constant name="struts.devMode" value="true"/>    <!--动态方法调用 默认 true-->   <!-- <constant name="struts.enable.DynamicMethodInvocation" value="false"/>-->    <package name="day-05" namespace="/" extends="struts-default">        <action name="*_*" class="cn.happy.struts05.{1}" method="{2}">            <result name="{2}">/day05/{1}/{2}.jsp</result>        </action>    </package></struts>



案例3:

Action从定向转发。。。。

package cn.happy.struts06;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;import javax.xml.soap.SAAJResult;import java.util.Map;/** * Created by linlin on 2017/10/23. */public class FirstAction extends ActionSupport{    public String list(){      Map<String,Object> request= (Map<String,Object>)ActionContext.getContext().get("request");       request.put("uname","张三");        System.out.println("list");    return "list";    }    public String del(){        System.out.println("del");        return "del";    }    public String add(){     Map<String,Object> request= (Map<String,Object>)ActionContext.getContext().get("request");    Object uname=request.get("uname");      System.out.println(uname);    request.put("info","数据");        System.out.println("add");        return "add";    }}

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"        "http://struts.apache.org/dtds/struts-2.0.dtd"><struts>    <constant name="struts.devMode" value="true"/>    <!--动态方法调用 默认 true-->   <!-- <constant name="struts.enable.DynamicMethodInvocation" value="false"/>-->    <package name="day-06" namespace="/" extends="struts-default">        <action name="userActionResult" class="cn.happy.struts06.FirstAction" method="list">            <result name="list" type="chain"><!--/day06/FirstAction/list.jsp-->            <param name="actionName">userActionResultAdd</param>                <param name="namespace">/</param>            </result>        </action>    <action name="userActionResultAdd" class="cn.happy.struts06.FirstAction" method="add">            <result name="add">/day06/FirstAction/add.jsp</result>        </action>    </package></struts>


原创粉丝点击