码迷,mamicode.com
首页 > 其他好文 > 详细

struts(基础知识)

时间:2015-01-17 17:48:22      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:

1. Struts2需要运行在JRE1.5及以上版本

2. 在web.xml配置文件中,配置StrutsPrepareAndExecuteFilter或FilterDispatcher

    <filter>

             <filter-name>struts2</filter-name>

             <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

     </filter>

     <filter-mapping>

              <filter-name>struts2</filter-name>

              <url-pattern>/*</url-pattern>

      </filter-mapping>

2.引入Struts2的依赖包,将依赖包拷贝到WEB-INF/lib下

   * javassist-3.11.0.GA.jar

   * freemarker-2.3.19.jar

   * ognl-3.0.6.jar

   * commons-logging-1.1.3.jar

   * commons-lang3-3.1.jar

   * commons-io-2.2.jar

   * commons-fileupload-1.3.jar

   * struts2-core-2.3.16.jar

   * xwork-core-2.3.16.jar

3. 提供struts2配置文件struts.xml,放到src下

4. 创建Struts2的Action,Struts2的action可以不用继承Struts2框架中的任何类,也不用实现Struts2框架中的任何接口,所以Struts2的Action可以是

    一个POJO(纯粹的Java对象)所以Struts2的Action测试更容易。但是一般情况下会继承ActionSupport。

    继承的好处:

    1). 重写方法,可以防止方法名写错,重写方法时加上override。

    2). 利用父类或接口中定义好的字符串常量。

    3). 开发更规范

    Struts2缺省方法名称:public String execute() throws Exception;默认情况下执行。

5. 在Action中为属性提供getter和setter方法,便于收集数据(这样收集数据的模式一般可以称为属性驱动模式)。若页面有与它对应的属性时,

    可以直接获取值(通过拦截器利用反射取值)。

6. struts2中配置文件对应的action中方法若有返回值必须是String类型且无参数。

7. 将JSP和Action的对应关系配置到struts.xml配置文件中。

    1). action标签需要配置在package标签中

    2). 返回需要配置在result标签中

    3). package必须继承struts-default(18个拦截器),这样就拥有了最基本的功能。

     标准配置举例:
     <struts>
           <package name="struts2" extends="struts-default" namespace="/">
                     <action name="testShow" class="com.mumu.action.TestAction">
                              <result name="success">/index.jsp</result>
                     </action>
           </package>
      </struts>

      在配置文件中result中name="success"和type="dispatcher"为默认值,可以不写。

8. 了解struts-default.xml配置文件,default.properties,Struts2的默认后缀为.action

9. StrutsPrepareAndExecuteFilter实现Filter接口。记住这个过滤器。

10. struts2的常用配置参数

      <!-- 配置编码方式 -->

      <constant name="struts.i18n.encoding" value="utf-8"></constant>

      <!-- 会提供更加友好的提示信息 -->

      <constant name="struts.devMode" value="true"></constant>

      <!-- 当struts.xml配置文件发生修改,会立刻加载,在生产环境下最好不要配置 -->

      <constant name="struts.configuration.xml.reload" value="true"></constant>


      以上参数配置方式有两种:

      * 在struts.properties文件中配置

      * 在struts.xml配置文件中(借助帮助提示查看位置,配置文件报错可能是位置顺序错误)

11. 可以为某个模块建立单独的配置文件,该配置文件的格式需要和struts.xml配置文件的格式一致在struts.xml配置文件中采用<include>标签引入。

     引入格式,</package>下面加上:<include file="com/mumu/action/one.xml"></include>

12. Action中属性对象直接获取方式:

     1). 直接对Action中的对象赋值,在action中定义对象: (推荐)

          eg:private User user;(action中有user的set和get方法) 

         在html中可以采用如下方式命名输入域:

         <form action="login.action">

         用户:<input type="text" name="user.username"><br>

         密码:<input type="password" name="user.password"><br>

         <input type="submit" value="登录">

         </form>

         或:

         <s:textfield name="user.username" label="姓名"></s:textfield>

     2). Struts2可以采用类似于Struts1中的ActionForm方式收集数据,这样方式叫ModelDriven模式(不推荐此种方式): 

          如何实现模型驱动模式?

          * 创建User

          * Action需要实现ModelDriven接口

          * 实体对象不使用setter getter方法,但是要实例化对象(new)

          * 实现getModel()方法,返回Bean对象(如:返回user).

          * 页面只填写属性名称即可

struts(基础知识)

标签:

原文地址:http://www.cnblogs.com/Jtianlin/p/4230752.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!