Struts2学习总结(四):struts.xml的配置

一,Struts2配置文件类型

  • struts-default.xml ,  struts-plugin.xml: Struts2提供的配置文件,在Struts提供的包中
  • struts.xml:是Web应用默认的Struts2配置文件(开发人员编写)
  • struts.properties:框架中属性配置文件 (开发人员编写)

二,struts.xml 配置

1.包配置:<package>

   配置文件struts.xml的包使用<package>元素声明。主要用于放置一些项目的相关配置。

   <package>包含的属性:

  •    name:声明包的名称,以方便在其他的位置引用包,此属性是必需的
  •    extends:用于声明继承包
  •    namespace:指定名称空间,用于访问此包下的Action需要的路径(名称空间的值需要以"/"开头,否则,找不到Action对象的访问地址)
  •    abstract:将包声明为抽象类型(包中不包括action)

 代码示例:

<struts>
	<!-- 声明包 -->
    <package name="myPackage" extends="struts-default">
    ....
    </package>
</struts>
 2. <action>与<result> ,通配符
  (1)<action>配置:
      Struts2框架中的Action对象,是一个控制器的角色。Struts2框架通过Action对象处理HTTP请求,其请求的地址映射需要配置在struts.xml文件中,配置方式采用<action>元素进行配置
     <action>包含的属性:

  • name:用于配置Action对象被请求的映射(必须要配置的,在建立Action对象的映射时,必须指定它的URL映射地址,否则,请求找不到Action对象)
  • class:指定Action对象的类名
  • method:设置请求Action对象时,调用Action对象的哪一个方法(调用一个Action对象时,默认情况下,执行的execute()方法,需要调用指定的方法,可以用method属性进行配置)
  •  converter:指定Action对象类型转化器的类
   (2)通配符实现简化配置
       struts.xml文件中,支持通配符的使用。主要针对在非常多的Action的情况下,通过一定的命名约定,使用通配符来配置Action对象,从而达到一种简化配置的效果。
常用的通配符:
  •     通配符“ * ”:匹配0或多个字符
  •    通配符“ \ ”:是一个转义字符,如需要匹配“ / ”,则使用“ \/ ”进行匹配
    (3) <result>配置
        Action对象是Struts2框架中的请求处理对象,针对不同的业务请求及处理结果,Action返回一个字符串。字符串就是Action处理结果的逻辑视图名,Struts2框架就会根据这个名字,到配置文件struts.xml中查找这个逻辑视图名称匹配的视图,找到后就会返回给浏览器。
      Struts2框架中通过Action的结果映射配置返回视图
     <result>属性包含:
  •       name:指定Result的逻辑名称,与Action对象的返回值相对应。例如execute()的返回值是input,就将name的属性配置为input(不设置name属性,默认success)
  •       type:设置返回结果的类型,如请求转发,重定向等
3.<include>
    利用include标签,可以将一个struts.xml配置文件分割成多个配置文件,然后在struts.xml中使用<include>标签引入其他配置文件。
    例如一个购物程序,可以将用户配置,订单配置,商品配置放在不同的配置文件中,然后在struts.xml文件中利用<include>标签引入
4.<constant>
    所有在struts.properties文件中定义的属性,都可以配置在struts.xml文件中。而在struts.xml中,是通过<constant>标签来进行配置的
5.<exception-mapping>与<global-exception-mapping>
    这两个标签都是用来配置发生异常时对应的视图信息的,两个应用范围不同:一个是Action范围的,一个是包范围的,当同一类型异常在两个范围都被配置时,Action范围的优先级要高于包范围的优先级.这两个标签包含的属性也是一样的:

  • name:用来表示该异常配置信息    
  • result:指定发生异常时显示的视图信息,这里要配置为逻辑视图 (必需属性)
  • exception:指定异常类型(必需属性)

代码示例:

<?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.3.dtd">
 
<struts>
    <package name="default" extends="struts-default">
        <global-exception-mappings>
            <exception-mapping result="逻辑视图" exception="异常类型"/>
        </global-exception-mappings>
        <action name="Action名称">
            <exception-mapping result="逻辑视图" exception="异常类型"/>
        </action>
    </package>
</struts>

6.<default-class-ref>
    当我们在配置Action的时候,如果没有为某个Action指定具体的class值时,系统将自动引用<default-class-ref>标签中所指定的类。有特殊情况,可以指定类
7.<default-action-ref>
    如果在请求一个没有定义过的Action资源时,系统就会抛出404错误。这种错误不可避免,但这样的页面并不友好。我们可以使用<default-action-ref>来指定一个默认的Action,如果系统没有找到指定的Action,就会指定来调用这个默认的Action。
<struts>
	<!-- 声明包 -->
    <package name="myPackage" extends="struts-default">
       <default-action-ref name="acctionError"></default-action-ref>
         <action>
             ...
         </action>
    </package>
</struts>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值