webwork基础学习笔记1

来源:互联网 发布:unity3d创建材质球 编辑:程序博客网 时间:2024/06/17 09:36

说明:为了增加对框架的了解和应用面前正在学习webwork框架。之前也学习了主流的ssh框架,总体来说一接触给我的感觉webwork和struts2及其相似,所以觉得更有必要通过学习webwork来和struts进行对比学习和应用。webwork号称是要超越struts把握web MVC开发未来的框架,关于webwork的介绍学习资料很多可以自己搜索。

          我学习的路径是通过webwork in action这本书籍,下面粘上我笔记。

          1、架构
   1.架包、配置文件(webwork-default.xml、xwork.xml、webwork.properties)、控制


器 
   2、基础配置
   web.xml
        <servlet> 
            <servlet-name>webwork</servlet-name> 
            <servlet-class>
               com.opensymphony.webwork.dispatcher.ServletDispatcher
            </servlet-class> 
        </servlet> 
        <servlet-mapping> 
            <servlet-name>webwork</servlet-name> 
            <url-pattern>*.action</url-pattern> 
        </servlet-mapping> 
        <taglib> 
             <taglib-uri>webwork</taglib-uri> 
             <taglib-location>/WEB-INF/lib/webwork-2.2.7.jar</taglib-location> 
         </taglib>
    xwork.xml
         <include file="webwork-default.xml" /> 
  <package name="default" extends="webwork-default"> 
       <default-interceptor-ref name="completeStack"/>
<action name="firstAction"                             


class="com.webwork.demo.action.FirstAction"> 
   <result name="success">index.jsp</result> 
</action> 
  </package> 
     控制器中的设计和struts2一样,直接继承Action类实现excute方法 
2、webwork标签
     1、<%@ taglib uri="webwork" prefix="ww"%>页面引用
      <ww:property value="message"/> 
      2、<ww:if test="messgae!=null">
3、基本类和方法
    类:
       1、控制器可以继承Action类或者ActionSupport类
    方法:
       2、addFieldError();
          addFieldErrot("name","错误信息");
           在jsp页面或者错误信息:<ww: if test="fieldError['name']!=null">
4、action、result、interceptor
   1、result的类型可以选择不同的模版jsp、Velocity、FreeMarker-》servlet分发请求模版类型
   2、interceptor是一个特殊的对象,围绕着action和result的执行过程,并且在action执行之前被调用(也有可能在之后被调用),控制器控制这action是否被执行或者如何被执行。可以将多个interceptor组合构成一个interceptor栈。
   3、action:基本属性有名称name和对应的类class,名称是类的映射
      action的定义和访问
         1、还为action可以指定method属性,即action的别名
         2、在没有配置别名的情况下可以通过action!method.action访问控制器
         3、通过使用param标签,action能够被自定义或者参数化。
          <action name="firstAction"                                                         class="com.webwork.demo.action.FirstAction"  
              <result name="success">index.jsp</result> 
              <param name="url">http://baidu.com/service.wsdl</param>
              <param name="timeout">30</param>            
           </action> 
    4、result:result的配置有两部分组成,一个是result映射,另一部分是result类型
        1、类型type:redirect、dispatcher定义
           <result-types>
               <result-type name="dispatcher" class="" default="true"/>//将dispatcher设置为默认的result类型
               <result-type name="redirect" class=""/>
           </result-types>
        2、利用全局result映射减少重复配置(定义在package里面)
           <package name="default" extends="webwork-default">
             <golbal-results>
               <result name="login" type="redirect">login.jsp</result>
               <result name="save">save.jsp</result>
             </golbal-results> 
           </package>
    5、interceptor
         1、在package中定义一组拦截器(拦截器组)
               <intercptors>
                  <interceptor name="time" class=""/>
                  <interceptor name="login" class=""/>
               </interceptors>
         2、使用拦截器<action>和<interceptors>是同意级别
              在<action>标签内部引用,和<result>标签同以级别
              <interceptor-ref name="time"/>
              <interceptor-ref name="login"/>
         3、拦截器栈
              <intercptors>
                  <interceptor name="time" class=""/>
                  <interceptor name="login" class=""/>
                  <interceptor-satck name="myStack">
                      <interceptor-ref="time"/>
                      <interceptor-ref="login"/>
                  </interceptor-stack>
               </interceptors>
         4、引用拦截器栈
                <interceptor-ref name="myStack"/>
         5、默认的拦截器使用在<action>同级别之上引用,其他action将可以不用再单独引用拦截器。但是如果单独为action定义了拦截器那么将会覆盖默认的拦截器。

      基础配置就先到这了!不好勿喷

0 0
原创粉丝点击