struts2学习笔记1

1、如果用户开发自己的struts2插件,则需要编写相应的struts-plugin.xml文件放在jar文件中,struts2框架将自动加载该文件。

2、struts2框架按如下搜索顺序加载struts2常量:

   struts-default.xml-->struts-plugin.xml-->struts.xml--->struts.properties-->web.xml

3、struts.xml中,package元素用于定义包配置,每个package定义一个包配置,属性:

    name:* 该包名字,为被其他包引用的key

    extends ,

    namespace:命名空间

abstract:可选属性,指定该包是否为抽象包,抽象包中不能包含action定义

4、命名空间只有一个级别。如果请求的URL是/book/search/get.action,则系统先在/book/search的命名空间下查找get的action,如果找到,则返回,如果没有找到,则系统将直接进入默认的命名空间中查找名为get的action而不会在book的命名空间下查找get的action。

5、拦截器

6、action使用通配符:

    如何在struts.xml中有action为abcAction,*,*Action,则abcAction会找到abcAction,而defAction则会找到struts中写在靠前的那个action,比如是*在*action之前,则找到*。

7、默认action:<default-action-ref name="actionName"/>

8、struts.xml --result 默认结果类型是dispatcher,但可以通过配置文件改变默认结构类型;

     struts2内建支持的result结果类型:

        chain:action链式处理的结果类型(不明白)

        chart:JFreeChart

        dispatcher:jsp整合

         freemarker:FreeMarker整合

        httpheader:控制特殊的http行为的结果类型

        jasper:JasperReports

         jsf:jsf

        redirect:直接跳转到其他的URL

         redirect-action跳转到其他的action

      stream:向浏览器返回一个InputStream(文件下载)

       tiles:Tiles

       velocity:velocity

        xslt: XML/XSLT

        plaintext:显示某个页面的原始代码的结果类型。

9、请求参数决定结果:

    ${属性名1.属性名2.属性名3}  属性名1即是对应action实例中的属性,如:<result type="">logon.action?name=${currentUser.name}

10、全局结果:

     <global-results><result></result></global-results>

    如果一个action里面包含了与全局结果里面相同的结果,则局部结果会覆盖全局结果

11、模型驱动:使用模型封装了所有数据,贯穿整个MVC流程,而模型的作用是封装用户的请求参数和处理结果。

编写独立的javabean,而在action类中去实现ModelDriven接口,并实现getModel()方法。

问:系统是如何将请求参数封装到action的model属性中的??

要在jsp页面中输出服务器处理结果,应该写成<s:property value="model.##"/>但也可以把model.去掉,系统如在action中没有找到属性,会自动去管理model中的属性。

12、struts2的异常机制:

     开启struts2的异常处理机制,需要一个拦截器,struts-default.xml已经写好开启了。

     在struts.xml中配置<exception-mapping result="logon" exception="java.io.IOException"/>

                                <result name="logon" ..>--->上面的result就是这个result出异常时转入的页面

    全局异常映射的result属性值通常不要使用局部结果,局部异常映射的result可以使用局部也是用全局。

   

    显示异常信息:<s:property value="exception"/>:输出异常对象本身

                         <s:property value="exceptionStack"/> :输出异常堆栈信息     

        

        

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值