`
weishuwei
  • 浏览: 326392 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

webwork笔记之配置

阅读更多
  1. <package/>标签里,这几个标签是有严格顺序的,正确顺序如下:  
  2. <result-types>,必须有<result-type/>项;  
  3. <interceptors>,必须有<interceptor/>项;  
  4. 接下来是<default-interceptor-ref name="completeStack"><!---->default-interceptor-ref>;  
  5. 然后是<global-results>,必须有<result/>项;  
  6. 然后<global-exception-mappings>,子项如<exception-mapping result="errorPage" exception="java.lang.Exception"/>  
  7. 最后才是<action/>  
  8. =========================================================================  
  9. <action name="test">  
  10.     <interceptor-ref name="exception"/>  
  11.     <interceptor-ref name="basicStack"/>  
  12.     <exception-mapping exception="com.acme.CustomException" result="custom_error"/>  
  13.     <result name="custom_error">custom_error.ftl<!---->result>  
  14.     <result name="success" type="freemarker">test.ftl<!---->result>  
  15. <!---->action>  
  16. =========================================================================  
  17. webwork运行流程:  
  18. 默认执行execute()方法,该方法默认返回SUCCESS;  
  19. =====分页================================================================  
  20. <Script language="JavaScript" src="/js/pagenumber.js"><!---->Script>  
  21. <script Language="JavaScript">  
  22.     listNumUrl("courseInfoList.action?&pageNum=",${pageNum},${allPageNum});  
  23. <!---->script>  
  24. ======相关扩展===========================================================  
  25. Ognl工作原理:  
  26. OgnlValueStack stack=new OgnlValueStack();  
  27. stack.push(new User())://首先将打算赋值的对象压入栈中  
  28. stack.setValue("name","erica");//为栈顶对象User指定的属性名name赋值  
  29. =====额外收获===========================================================  
  30. HttpSession是一个接口,  
  31. Properties实现了继承了HashTable(实现了Map接口),也就是说它保存的也是值-键对象,它的setProperty("name","value")实质上就是保存到HashTable里了。  
  32. -------------------------------------------------------------------------------------------------  
  33. <ww:head theme="ajax" calendarcss="calendar-green"/>默认不是ajax  
  34. ======上传=============================================================  
  35. <action name="itemPersonalInput" class="cn.com.s520.course.ItemPersonalInputAction">  
  36.         <interceptor-ref name="fileUpload">  
  37.         <param name="allowedTypes">  
  38.     application/msword,image/gif,image/jpeg,image/pjpeg,application/x-shockwave-flash  
  39.     <!---->param>  
  40.     <param name="maximumSize">10485760<!---->param><!---->  
  41.     <!---->interceptor-ref>  
  42.         <interceptor-ref name="basicStack"/>  
  43.     <result name="input" type="freemarker">/course/ItemPersonalInput.ftl<!---->result>  
  44.     <result name="error" type="freemarker">/course/ItemPersonalInput.ftl<!---->result>  
  45.     <result name="success" type="redirect">/itemPersonalList.action<!---->result>  
  46. <!---->action>  
  47. private File images;  
  48. private String imagesContentType;  
  49. private String imagesFileName;//得到不含路径的文件名,如test.jpg  
  50. ******文件下载=========================================================  
  51. <result name="success" type="stream">  
  52.     <param name="contentType">image/jpeg<!---->param>  
  53.     <param name="inputName">imageStream<!---->param>  
  54.     <param name="contentDisposition">filename="logo.png"<!---->param>  
  55.     <param name="bufferSize">4096<!---->param>  
  56. <!---->result>  
  57. 1,<param name="contentType">application/x-msdownload<!---->param>  
  58. contentType设成 application/x-msdownload 就可以。这样浏览器会保证弹出一个下载文件的对话框。  
  59. 2,inputName 这个比较重要,这个名字是输入流的名称, 以后要steam result的实现类中为根据OGNL的表达式去查找的。  
  60. contentDisposition 这个是下载之后,保存在用户端的文件名称  
  61. 3,另外一个参数:contentLength就是下载文件的大小,webwork的stream result似乎实现有问题,不能根据文件的大小动态进行设置,只能写死。  
  62. 这个参数的意义是告诉浏览下载的文件有多大,以便浏览器正确的显示进度条。如果这个功能很重要的话,可以重新写一个RESULT来实现。  
  63. ======================================================================  
  64. <result>/form.jsp<!---->result>如果不指明,默认为success  
  65. <action name="userReg" class="com.opensymphony.xwork.ActionSupport">  
  66.     <result name="input">/app/userreg.ftl<!---->result>  
  67. <!---->action>  
  68. 这里将不会出现预期的页面,因为默认为success,不会转向我们指定的input页面  
  69. ======================================================================  
  70. <result name="no-content" type="header">  
  71.     <param name="status">204<!---->param>  
  72.     <param name="headers.customHeaderA">A<!---->param>  
  73.     <param name="headers.customHeaderB">B<!---->param>  
  74. <!---->result>  
  75. ======================================================================  
  76. chain视图:  
  77. 同一个包里,可设置type为chain,对应action的扩展名也可以不写,  
  78. <result name="error" type="chain">  
  79.       <param name="actionName">bar<!---->param>  
  80. <!---->result>  
  81. 不同包里  
  82. <result name="errorPage" type="chain">  
  83.     <param name="namespace">/<!---->param>  
  84.     <param name="actionName">bar<!---->param>  
  85. <!---->result>  
  86. 或者设置type为redirect,重定向过去  
  87. <action name="index" class="com.opensymphony.xwork.ActionSupport">  
  88.     <result name="success" type="redirect">/course/courseInfoList.action<!---->result>  
  89. <!---->action>  
  90. ======================================================================  
  91. <default-interceptor-ref name="defaultStack"/>  
  92. 这里只是在你没有设置拦截器时才用到,如果设置拦截器了,就不会调用这个了,我开始还以为设置没设置拦截器都调用这个呢  
分享到:
评论

相关推荐

    WebWork2学习笔记

    本学习笔记将深入探讨WebWork2的核心概念、主要特性以及如何在实际项目中应用。 首先,WebWork2的核心是Action,它是处理用户请求的中心组件。Action类负责接收HTTP请求,执行业务逻辑,并通过Result将处理结果返回...

    webwork学习笔记(全)

    ServletDispatcher 是WebWork中的核心组件之一,它负责根据Action配置信息来分发请求,调用相应的Action方法,并将结果返回给客户端。它解析请求路径,查找匹配的Action映射,执行Action并根据返回的结果类型选择...

    webwork学习笔记

    ### WebWork学习笔记知识点 #### 一、WebWork框架简介 - **定义**: WebWork是一个由OpenSymphony组织开发的MVC(Model-View-Controller)框架,专注于组件化和代码重用,适用于J2EE应用程序开发。 - **最新版本**:...

    webwork 上传文件与下载文件 使用笔记

    在WebWork中进行文件上传前,需要进行相应的配置: 1. **定义拦截器**:首先,在配置文件中定义`FileUploadInterceptor`,通常会将其与其他拦截器组合使用,例如与`params`和`model-driven`等一起组成拦截器栈。 ...

    webworkwebwork笔记

    从给定的文件信息来看,这里涉及到的是WebWork框架的学习笔记与配置,以及如何将WebWork与Spring、Hibernate集成在一起的示例。下面,我们将详细地解析这些知识点: ### WebWork框架简介 WebWork是一个开源的Java ...

    Java相关课程系列笔记之十三Struts2学习笔记

    本笔记将深入探讨Struts2的核心概念、发展历程、使用方法以及与OGNL(Object-Graph Navigation Language)的结合应用。 **一、Struts2概述** 1.1 为什么要用Struts 在Java Web开发中,Struts2作为MVC框架,能够...

    struts2学习笔记.doc

    - **Struts2的起源**:Struts2最初由WebWork和Struts1的核心开发者联合创建,其目的是为了弥补这两个框架的不足之处。 **1.2 开发环境配置** - **IDE选择**:Eclipse 3.2 + MyEclipse 5.5。 - **Servlet Container*...

    struts2综合笔记

    - **发展历程**: Struts2 是在 WebWork 框架的基础上发展起来的,因此学习 Struts2 实际上也是学习 WebWork。 #### 二、Struts2 的核心组件分析 **控制器**: - **Servlet VS Filter**: - **Servlet**: - 在内存...

    struts2 学习重点笔记

    - **核心**:Struts2 的核心其实是 WebWork 2,它融合了 Struts 1 的一些优秀思想。 - **优势**:使用 Struts2 可以显著提高开发效率,因为它能够处理很多基础任务,如数据接收、类型转换、验证等。 **1.2 Struts2 ...

    Struts2学习笔记

    根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...

    [黑马程序员Struts2 2016版视频] 前3Days笔记

    总结,黑马程序员Struts2 2016版的前3Days笔记重点介绍了Struts2的基础概念、架构、配置、Action、结果类型、视图渲染、标签库以及拦截器等关键知识点。通过深入学习这些内容,开发者能够更好地理解和运用Struts2...

    Java相关课程系列笔记之十三Struts2学习笔记.doc

    在本篇笔记中,我们将深入探讨Struts2的核心概念和使用方法。 **一、Struts2概述** 1.1 为什么要用Struts? 在传统的JSP开发中,模型与视图、控制器的职责混杂,导致代码维护困难。Struts2作为MVC框架,将业务逻辑...

    代码学习笔记

    他们主要通过将Webwork中的相关类复制到新的包中,并修改`dwr.xml`配置文件,以便让DWR能够识别Struts2的Action和Action方法。 **DWR的使用步骤**: 1. **设置环境**:确保项目中包含DWR的jar文件,并正确配置`web...

    ssh学习笔记

    根据提供的文件信息,可以看出这份学习笔记主要关注于SSH(Struts、Spring 和 Hibernate)框架的配置与使用。接下来,我们将详细解析这些知识点。 ### 一、Spring 框架依赖 Spring 是一个开源的轻量级Java开发框架...

    struts2笔记

    本笔记将深入探讨Struts2的核心概念、执行流程、类型转换、输入验证和国际化等方面。 **一、Struts2框架基础** Struts2是Apache软件基金会的一个开源项目,它是基于拦截器的MVC框架,继承了WebWork框架的优点。...

    Struts1及14. Struts2学习笔记

    Struts2是Struts1的升级版,它吸取了其他优秀框架的优点,如Spring、WebWork等,提供更强大的功能和更灵活的配置。Struts2的核心是FilterDispatcher,它处理所有请求并根据配置的拦截器链进行处理。Struts2支持OGNL...

    struts2学习笔记

    它不仅继承了Struts1和WebWork的优点,还通过灵活的拦截器机制和丰富的配置选项,使得开发者能够更高效地实现复杂的Web应用。对于初学者而言,理解Struts2的基本原理和配置方式是掌握Web开发的关键步骤。

Global site tag (gtag.js) - Google Analytics