• struts.xml的配置


    1:bean,定义类。

    2:constant:struts中的常量定义。

    文件目录

    /org/apache/struts2/default.properties

    default.properties定义了struts2中所有的常量。struts并不会去读取。

    struts.i18n.encoding=UTF-8 //设置请求的编码
    struts.enable.DynamicMethodInvocation = true    //是否支持动态方法的调用
    struts.configuration.xml.reload = true    //是否支持XML的自动加载
    struts.devMode = false    //开发模式
    struts.ui.theme=xhtml    //UI模板的设置
    struts.ognl.allowStaticMethodAccess=false    //是否允许在ONGL表达式中调用静态方法
    struts.action.extension=action,,    //STruts请求的扩展名。

    系统可以覆盖常量。struts读取常量的顺序:后面的会覆盖前面的配置。

    A:struts-default.xml:不需要配置

    B:struts.xml

    <constant name="struts.i18n.encoding" value="GBK" />

    C:struts.properties(这个文件需手工建立,也是放在src目录下,一般用于WebWork工程)

    struts.i18n.encoding=UTF-8

    D:web.xml

    <filter>
    <filter-name>struts2</filter-name>
    <filter-class>
    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    </filter-class>
    <init-param>
    <param-name>struts.i18n.encoding</param-name>
    <param-value>UTF-8</param-value>
    </init-param>
    </filter>

    include部分:
    struts中多模块的设置,模块化文件。

        <!-- 引入其他配置文件    
            <include file="struts_user.xml"></include>
         -->

    公用的Action放在struts.xml中,模板的配置放到模板的配置文件中。

    package 包

    name="default" 包名,随便取,不能重复。

    namespace="/" 命名空间。

    extends="struts-default" 包之间的继承。就可以父包配置的选项
    默认所有的package都继承struts-default.xml

    abstract="true|false" 是否抽象包。抽象包中不能定义action。

    Package底下的配置:

    <action 
    name=""    action的名称
    class=""    action的类路径
    method=""    执行action中哪一个方法的名称。
    
    
    <action name="firstAction" class="com.action.FirstAction" method="delete"></action>
    
    访问firstAction时,执行不是FirstAction中的execute方法,而是FirstActionon类中的Delete方法。
    
    如果没有配置method,就是访问execute方法。
    
    <result name="succ" type="dispatcher">
    <param name=""></param>
    </result>
    name:result的名称
    type:result的类型,
    chain:    请求转发到Action
    dispatcher:    请求转发到JSP面
    redirect:    重定向到JSP页面
    redirectAction:    重定向到Action
    stream:    流方式,用于下载


    param:
    result-type对应的类中成员变量的名称。

    Action
    private String username;

    //成员变量必须生成SET/GET方法。

    <param name=""></param>    //Action中成员变量的值。
    
    
    <result name="firstPage" type="redirectAction">
    <param name="namespace">/space_test1</param>
    <param name="actionName">test1Action</param>
    </result>

    interceptors:
    配置拦截器和拦截器栈。


    default-interceptor-ref:
    配置默认栈。

    当配置文件中配置了一个栈时,所以的action要使用栈的话,必须在action中加入调用
    栈的代码。

    <action = >
    <interceptor-ref name=""></interceptor-ref>
    </action>

    比较麻烦,可以配置默认的栈,这样在package底下所有的action都用使用这个默认栈。


    default-action-ref:
    配置默认的action。

    当链接到一个命名空间时,没有指定action的路径,那么就会执行默认的action。

    http://localhost:8080/Struts2_Project_1/test1/

    <package name="test" namespace="/test1" extends="struts-default">
    <default-action-ref name="index" />
    <action name="index">
    <result>/main.jsp</result>
    </action>
    
    <action name="testNameSpace"
    class="com.action.TestNameSpaceAction">
    </action>
    </package>

    //***********************
    global-results与results的区别:

    global-result:是Package下面所有的action都可以调用global中定义的result.

    result:是action中私用的。

    其它的package想要调用另一个package中定义的global-result时,直接将包做

    继承关系即可。

  • 相关阅读:
    SQL 里面的COALESCE函数
    php SESSION 不能跨页面传递
    eclipse[日文版] 的SVN 上传步骤
    从一个SVN下载的导入另一个SVN里面
    VB 活动添加item元素
    分享8款精美的jQuery图片播放插件
    java初学者必看经典
    (转载)Java NIO:NIO原理分析(二)
    (转载)Java NIO:NIO概述(一)
    磁盘格式化
  • 原文地址:https://www.cnblogs.com/Arvin-9/p/4654062.html
Copyright © 2020-2023  润新知