zoukankan      html  css  js  c++  java
  • struts.xml文件中package元素的各大属性讲解

    Struts2中的包:

    Struts2使用包来组织Action,将Action放在包下来定义,通过package元素配置一个包,通过package的子元素action来定义一个Action; 
    Struts2框架中核心组件就是Action、拦截器等,Struts2使用包来管理Action和拦截器等。每个包就是多个Action、拦截器引用的集合。

    package的属性:

    1.name: 
    配置package元素时必须指定name属性,这是引用该包的唯一标识. 
    2.extends: 
    可选属性,指定该包继承的父包,子包可以从一个或多个父包中继承到拦截器、Action等配置,一般会继承Struts2自带的默认文件struts-default.xml配置文件。继承多个父包时逗号隔开:

    <package name="temp" extends="struts-default,temp2"></package>
    <!-- temp2 是另一个package的name的值,通过它来引用-->

    3.namespace: 
    可选属性,定义带包的命名空间,默认值为“ ”。其运用原理是package的name属性作为其唯一标识,同一个命名空间内不能出现相同name值的package,否则前面定义的package会被后面的覆盖,此时改放不同的命名空间下就可以了,处理时记得是 命名空间+Action名,如:

    <package name="package_temp" extends="struts-default">
        <action name="action_temp">
        </action>
    </package>
    <package name="package_test" extends="struts-default" namespace="/book">
        <action name="action_test">
        </action>
    </package>
    <!-- 访问package_temp:http://localhost:8080/action_temp.action-->
    <!-- 访问package_test:http://localhost:8080/book/action_test.action-->

      如果请求为/book/book.action,系统首先找/book命名空间里名为book的Action,如果在该命名空间里找到,则使用该Action处理请求;否则系统将到默认命名空间中查找名为book的Action,如果两个命名空间都找不到则系统出现错误。 
    4.abstract: 
    可选属性,指定该包是否是一个抽象包。抽象包的含义是该包不能包含Action的定义,值为true 、false

  • 相关阅读:
    记一次线上OOM问题分析与解决
    理解JAVA内存模型
    SpringBoot+Shiro+JPA+LayUI的后台管理系统
    学会使用BeanUtils,提高你的开发效率
    一篇文章教你快速上手接口管理工具swagger
    js 多维数组转一维数组(根据字段展示)
    记一次阿里云服务器中部署egg遇到的问题 (docker vim)
    react 封装tab组件
    js 添加 好玩的注释
    js 下载文件流
  • 原文地址:https://www.cnblogs.com/a8457013/p/8427499.html
Copyright © 2011-2022 走看看