`

struts2 笔记

    博客分类:
  • JAVA
阅读更多
转:http://blog.csdn.net/jingmin/archive/2009/03/31/4039336.aspx

一、    生成一个地址
<s:url action="list" id="list"></s:url>

<s:a href="%{list}">list</s:a>

二、    struts 常用配置
struts.properties 常用配置文件

<!-- 开发模式设置开始 -->

<constant name="struts.devMode" value="true" /> 指定struts的开发模式

<constant name="struts.i18n.reload" value="true" /> 指定struts的资源文件自动重载

<constant name="struts.configuration.xml.reload" value="true" /> 指定struts的配置文件是否自动重载

<constant name="struts.convention.classes.reload" value="true" />Convention类从新加载

<!-- 开发模式结束 -->


<!-- 主题, 不用dojo的及struts2复杂标签样式的就把主题设置为simple,这样可以不加载多余的模板。 -->
constant name="struts.ul.theme" value="xthml" /> 指定struts的模板 或者value="simple"

<constant name="struts.locale" value="zh_CN" />地区

<constant name="struts.i18n.encoding" value="UTF-8" />字符集

<constant name="struts.action.extension" value="action,do,jsp" /> 指定struts的扩展名

<constant name="struts.custom.i18n.resource" value="" /> 指定struts的国际化资源文件

<constant name="struts.enable.DynamicMethodInvocation" value="true" />启用动态方法调用,要实现零配置,就是需要动态方法调用。

<constant name="struts.enable.SlashesInActionNames" value="false" />该属性设置Struts 2是否允许在Action名中使用斜线,该属性的默认值是false。如果开发者希望允许在Action名中使用斜线,则可设置该属性为true。

<constant name="struts.convention.action.name.lowercase" value="true" />名称首字母小写

<constant name="struts.convention.action.packages" value="cn.jingmin.web" /> 只搜索特定package下的Action

<constant name="struts.convention.result.path" value="/WEB-INF/context" /> 指定加载页面的目录

<constant name="struts.convention.relative.result.types" value="dispatcher,velocity,freemarker" />返回的页面类型

<constant name="struts.convention.exclude.packages" value="" />忽略某些包

<constant name="struts.convention.package.locators" value="" /> Convention默认的根packages

<constant name="struts.objectFactory" value="spring" /> 指定spring自动装载

三、    convention action与文件的对应关系
public class HelloWorld extends ActionSupport{

publicString execute() {

    if (System.currentTimeMillis() % 2 == 0) {

      message = "It's 0";

      return"zero"; }

    return SUCCESS;

}}

SUCCESS 对应 hello-world.jsp

zero    对应 hello-world-zero.jsp

四、    convention action对过虑器的调用
@Action(interceptorRefs={@InterceptorRef("validation"), @InterceptorRef("defaultStack")})

@ExceptionMappings({

    @ExceptionMapping(exception = "java.lang.NullPointerException", result = "success", params = {"param1", "val1"})

})

@ParentPackage

五、    Convention插件使用REST

<constant name="struts.convention.action.suffix" value="Controller"/>

<constant name="struts.convention.action.mapAllMatches" value="true"/>

<constant name="struts.convention.default.parent.package" value="rest-default"/>

六、    sitemesh 引用变量
在第主个页面之中

<meta name="author" content="test@example.com">

在模板页中可以引用

<decorator:getProperty property="meta.author" default="staff@example.com" />

七、    OpenSessionInViewFilter连接设置
<filter>

         <filter-name>hibernateOpenSessionInViewFilter</filter-name>

         <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>

</filter>

<filter-mapping>

         <filter-name>hibernateOpenSessionInViewFilter</filter-name>

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

</filter-mapping>

八、    在WEB中加载spring
<context-param>

         <param-name>contextConfigLocation</param-name>

         <param-value>classpath*:/applicationContext.xml</param-value>

</context-param>

<listener>

         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

九、    Spring 刷新Introspector防止 “内存泄露”
<listener>

         <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>

</listener>

十、    在sitemesh中使用FreeMarker
<filter>

         <filter-name>sitemesh</filter-name>

         <filter-class>org.apache.struts2.sitemesh.FreeMarkerPageFilter</filter-class>

</filter>

十一、      FreeMarker
FreeMarker 扩展名是ftl

十二、      加载sitemesh
<filter>

         <filter-name>strutsCleanup</filter-name>

         <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>

</filter>

<filter>

         <filter-name>sitemesh</filter-name>

         <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>

</filter>

<filter>

         <filter-name>struts2Filter</filter-name>

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

</filter>

<filter-mapping>

         <filter-name>strutsCleanup</filter-name>

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

</filter-mapping>

<filter-mapping>

         <filter-name>sitemech</filter-name>

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

</filter-mapping>

<filter-mapping>

         <filter-name>struts2Filter</filter-name>

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

</filter-mapping>

十三、      spring字符集转换
-<filter>

         <filter-name>encodingFilter</filter-name>

         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

         <init-param>

                   <param-name>encoding</param-name>

                   <param-value>UTF-8</param-value>

         </init-param>

         <init-param>

                   <param-name>forceEncoding</param-name>

                   <param-value>true</param-value>

         </init-param>

</filter>

<filter-mapping>

         <filter-name>encodingFilter</filter-name>

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

</filter-mapping>


分享到:
评论

相关推荐

    Struts2笔记,看完一遍,保证你学会Struts2,最权威的笔记!!!

    Struts2笔记 本人工作中积累的,故做成笔记以供大家一起学习进步. 模块分的非常详细,各个细节都会关注到,只挑选其精华,工作中用得到的技术!!! 不要看资源小,起到的作用却非常大!!!

    struts2笔记

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

    黑马程序员Struts2笔记

    本笔记主要涵盖了Struts2的基础知识,包括但不限于配置、Action、拦截器、结果类型以及异常处理等内容。 1. **Struts2框架简介** Struts2是Apache软件基金会的一个开源项目,它是Struts1的升级版,弥补了Struts1在...

    马士兵Struts2笔记2013

    Struts2是一个流行的Java web框架,...以上就是"马士兵Struts2笔记2013"中涉及的主要知识点,这些内容涵盖了Struts2的基础配置、数据处理、验证、调试以及与视图层的交互等方面,对于理解和掌握Struts2框架非常有帮助。

    Struts2笔记

    ### Struts2框架核心概念与工作原理 #### 一、框架概述 Struts2是Apache组织维护的一个开源项目,它是Struts1的升级版本,在设计理念和技术实现上都有较大的改进。Struts2是一个基于MVC(Model-View-Controller)...

    struts2笔记html版本

    8. ** strut2显示图笔记**:这个笔记可能包含了Struts2架构的可视化表示,帮助理解各个组件之间的关系和工作流程,包括Action、Interceptor、Value Stack等的交互过程。 通过阅读这个HTML版的Struts2笔记,开发者...

    圣思园struts2笔记

    本笔记主要涵盖了圣思园张龙老师在教学过程中讲解的Struts2核心概念与实战技巧。 首先,我们来了解Struts2的基本架构。Struts2框架通过拦截器(Interceptor)机制实现了对HTTP请求的处理,这些拦截器可以实现如日志...

    赵栋struts2 笔记

    赵栋的Struts2笔记主要涵盖了2013年的相关知识,以下是根据笔记内容提炼出的一些关键知识点: 1. **URL与Action方法绑定**: 在Struts2中,通过URL直接调用Action类的方法是可能的。如果在URL中附加"!"后跟方法名...

    Struts2笔记+Hibernate3.6笔记+Spring3笔记

    **Struts2笔记** Struts2是MVC(模型-视图-控制器)设计模式的一个实现,它为Java Web开发提供了强大的控制层。Struts2的核心是Action类,它处理用户请求并调用业务逻辑。以下是一些关键知识点: 1. **...

    struts2笔记_初步修改版_.

    在“Struts2笔记_初步修改版_”中,我们可能会涵盖以下关键知识点: 1. **Struts2架构**:Struts2的核心是Action类,它是处理用户请求的中心。Action类与业务逻辑层交互,并通过Result返回视图。Struts2使用拦截器...

    struts2笔记 Word文档

    Struts2是一个强大的Java web应用程序开发框架,它基于Model-View-Controller(MVC)设计模式,为开发者提供了...通过阅读"struts2笔记[初步修改版].doc",读者将能够更深入地了解这个框架,并在实际项目中灵活运用。

    struts2笔记和代码

    总的来说,"struts2笔记和代码"涵盖了Struts2框架的基本原理、配置、拦截器、Action实现、视图展现以及实践应用等多个方面,对于学习和掌握Struts2具有很高的价值。通过深入研究这些笔记和代码,开发者不仅可以理解...

    Struts2 笔记代码

    在这个"Struts2笔记代码"压缩包中,很可能是包含了一系列与Struts2相关的示例代码和学习资料。 Struts2的核心特性包括: 1. **Action类和结果类型**:Action类是业务逻辑的载体,负责处理用户的请求。每个Action...

    servlet和struts2笔记

    ### servlet和struts2笔记 #### 一、Servlet 基础 **Servlet** 是 Java Web 开发中的一种核心技术,它被设计用于处理客户端发送到服务器的 HTTP 请求,并且能够生成响应。Servlet 可以看作是服务器端的小程序,...

    struts2 学习重点笔记

    ### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...

    struts2学习笔记(完美总结)——转自OPEN经验库

    Struts2是一个强大的Java web应用程序开发框架,它遵循Model-View-Controller (MVC)设计模式,用于构建可维护性和可扩展性高的企业级应用。本文将深入探讨Struts2的核心概念,包括Action、Result、配置文件、OGNL与...

    Struts2 笔记

    Struts2笔记PDF文件可能包含了对这个框架的深入理解和实践指导。 在Struts2中,核心概念包括Action、Result、Interceptor(拦截器)和Value Stack。Action是业务逻辑的载体,它处理用户请求并执行相应的业务操作。...

    三、Servlet_jsp_Struts2笔记

    Servlet、JSP、Struts2笔记 Servlet基础 Servlet是运行在服务器上的程序,使用Java语言编译,并且使用Servlet接口来实现动态界面。Servlet需要接受客户端发送的请求,并将处理结果以响应的形式响应给客户端。 ...

Global site tag (gtag.js) - Google Analytics