`
yangzhibin_java
  • 浏览: 50950 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

struts2 基础知识

阅读更多

struts2 Action是一个pojo类

1,可以实现Action接口

      excute()方法可以不抛出异常

2,可以继承ActionSupport类

 

 

二,struts2的5个配置文件

Web.xml
Struts.xml //主配置文件
Struts.properties //属性文件
Struts-default.xml //struts2的默认配置
Struts-plugin.xml   //Struts2框架的插件配置文件


三,<action>

<result name="success" type="dispatcher">
    <param name="location">/ThankYou.jsp</param>
</result>
 

    1, name属性配置

             1.1 name属性默认不能加斜杠 (因为struts.enable.SlashesInActionNames = false

                           解决办法:struts.enable.SlashesInActionNames=true

             1.2 配置

                           正确格式:<action name="namespace /test1 " class="">

                           错误格式:<action name=" /namespace / test1 " class="">

    2,method属性配置

              2.1 作用:可以静态的调用 访问action方法的某个方法(DMI:动态调用

              2.2 用法:

                            1,action里的方法名和method里配置的一样

                            2,action里的方法名前加do(避免关键字如main

   3,DMI动态配置

              访问action时,在action名称后加上“!add ” (如:<a href="user!add .action ">访问</a>)

   4,Forword Action(跳转action,空action)

             专门用来跳转用的

 

<action name="main">
	<result type="redirect">/main.jsp</result>
	<!--加上type="redirect"可以直接掉到main.jsp上,不加跳转到main.action上-->
</action>
 

   5,默认action

<default-action-ref name="error"/>

<action name="error">
	<result>/error.jsp</result>
</action>

<!--变种-->
<action name="*">
	<result>/error.jsp</result>
</action>
<!-- 
	如果路径中没有通配符,则此Action优先级最高
	如果路径中有通配符,不管是什么通配符,一律按顺序匹配
-->

 

    6,通配符配置(解决action过多)(多个action映射一个请求时,要注意优先级)

          1,基本知识

                * :o-n个字符(不包括“/ ”)

                ** :o-n个字符(包括“/ ”)

                \ :转义符

<action name="*User" class="cn.cstp.org.action.UserAction" method="{1}">
	<result>/{1}UserSuc.jsp</result>
</action>

<action name="*_*" class="cn.cstp.org.action.{1}Action" method="{2}">
	<result>/{0}Suc.jsp</result>
        <!--{0}表示匹配完整的信息(*_*)-->
</action>

<action name="*" class="cn.cstp.org.action.ErrorAction">
	<result>/error.jsp</result>
</action>

<!-- 
	如果路径中没有通配符,则此Action优先级最高
	如果路径中有通配符,不管是什么通配符,一律按顺序匹配
-->
 

 

    7,Zero Configuration-注解配置

          @ParentPackage
          @Namespace
          @Result
          @Results

     struts2.0配置方法

<filter-name>struts</filter-name> 
       <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> 
            <init-param> 
                <param-name>actionPackages</param-name> <!--固定参数名-->
                <param-value>com.struts2.action</param-value><!--所有action所在的包-->
            </init-param> 
 </filter>
 

 


四,<pakeage>namespace(命名空间 )属性配置

        1,运行原理

                 先到指定的命名空间里去找,找不到就到默认的命名空间里去找

                  (所有你随便个什么路径,只要action名称正确就可以访问到)

        2,<pageage name="" extends="" namespace="" > -------建议都给配上

            namespace 不配置是就为默认包  

        3,如何配置:

            正确格式:<pageage name="" extends="" namespace="/namespace " >

                           <pageage name="" extends="" namespace="/ " >跟空间

            错误格式:<pageage name="" extends="" namespace="namespace " >

 

五,<result>

       1,type属性

chain 用来处理Action链 跳转到action上
dispatcher (默认) 用来转向页面,通常处理JSP
freemarker 处理FreeMarker模板
httpheader 控制特殊HTTP行为的结果类型
redirect 重定向到一个URL
redirectAction 重定向到一个Action 跳转到action上
stream

向浏览器发送InputSream对象,通常用来处理文件下载,

还可用于返回AJAX数据

velocity 处理Velocity模板
xslt 处理XML/XLST模板
plainText 显示原始文件内容,例如文件源代码 返回源代码

 

       2,跳转到action上

<action name="" class="">
    <!--服务器跳转(请求转发)-->
    <result name="success" type="chain">
             <param name="actionName">user</param>
             <param name="namespace">/xxx</param>
    </result>
</action>
<action name="" class="">
    <!--客服端跳转跳转(请求跳转)-->
    <result name="success" type="redirectAction">
             <param name="actionName">user</param>
             <param name="namespace">/xxx</param>
    </result>
</action>

      3,全局结果集

<global-results>
	<result name="success">/main.jsp</result>
	<result name="login">/login.jsp</result>
	<result name="input">/login.jsp</result>
</global-results>

     4,动态结果

<action name="" class="">
    <result name="success" type="redirectAction">${nextActionName}</result>
</action>

 

六,异常处理

<!--全局异常-->
<global-results>
	<result name="global-exception">/global-exception.jsp</result>
</global-results>
<global-exception-mappings>
	<exception-mapping result="global-exception" exception="java.lang.Exception"></exception-mapping>
</global-exception-mappings>

<!--局部异常-->
<result name="exception" type="dispatcher">/exception.jsp</result>
<exception-mapping result="exception" exception="java.sql.SQLException"></exception-mapping>
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    struts2基础知识

    文档包括大部分struts2的基础知识,从如何在一个项目中引入、配置struts2到怎么实现、如何写,适合初步接触struts2从无到有的人。

    Struts2基础知识

    ssh中,Struts2的基础知识,是ssh的基础,教科书,请放心使用。

    Struts2 基础知识

    NULL 博文链接:https://yangeoo.iteye.com/blog/2020571

    struts2的基础知识

    Struts2的一些基础知识介绍,strus2的原理,各种action的创建。

    Struts2.0基础知识培训

    — Web应用的发展 — Model 1和Model 2 — MVC思想 — MVC模式的优势 — 常用MVC框架及其特征 — Struts 1的基本结构及其存在的问题 — WebWork的基本结构 — Struts 2的起源 ...— Struts 1和Struts 2的对比

    struts2基本知识

    详细介绍了struts2处理多个请求和域传参

    struts2的基础知识及例子大全

    关于struts2的介绍,详细介绍struts2,有简单到深入,一层层深入的解析,是struts2入门的好书。

    struts2开发基础

    struts的基础开发,可以帮助初学者学习struts2的相关知识。

    Struts2_Action

    Struts2基础知识---基于Struts2的action讲解课件,详细讲解了action---xml的配置

    struts_基础知识和入门

    struts_基础知识和入门.pdf

    Struts2_Action-1

    Struts2基础知识讲解PPT课件---Struts2_Action,详细介绍action的工作原理

    Struts2的拦截器——Struts2拦截器的基础知识.pptx

    Struts2的拦截器——Struts2拦截器的基础知识

    Struts2框架基础 二

    OGNL表达式 interceptor拦截器 valuestack的存入 /取出

    struts2详细学习笔记

    这个是本人自学struts2框架时的总结笔记,里面关于struts2的基本知识很是详尽,如果想要进阶的就不要看了,这只是struts2基础的笔记,个人学习用的,绝不掺假!

    Struts2 in action中文版

    6.7 OGNL表达式语言的基础知识 130 6.7.1 什么是OGNL 130 6.7.2 Struts 2中常用的表达式语言特性 131 6.7.3 表达式语言的高级特性 135 6.8 小结 137 第7章 UI组件标签 139 7.1 为什么需要UI组件标签 139 7.2 标签、...

    Struts2入门教程(全新完整版)

    十二、总结 本教程对struts2的基本知识进行了一些说明,关于struts2的更多详细内容应参看struts2的官方文档及提供的app实例。 下面对struts2的基本执行流程作一简要说明,此流程说明可以结合官方提供的struts2结构图...

    Struts2的Java专题学习网

    综合实训 基于Struts2的Java专题学习网

    struts2 spring hibernate框架技术与项目实战 光盘源码

    详细讲解了S2SH框架技术的基本知识和使用方法,从Eclipse开发平台、JSP、Servlet等基础知识讲起,由浅入深,重点介绍了当前流行的三个轻量级开源框架:Struts2、Spring和Hibemate.

Global site tag (gtag.js) - Google Analytics