- 浏览: 9818 次
- 来自: ...
文章分类
最新评论
struts 2 笔记
一、 生成一个地址
<s:url action="list" id="list"></s:url>
<s:a href="%{list}">list</s:a>
二、 struts 常用配置
struts.properties 常用配置文件
<constant name="struts.i18n.encoding" value="UTF-8" />字符集
<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.convention.classes.reload" value="true" />
<constant name="struts.objectFactory" value="spring" /> 指定spring自动装载
<constant name="struts.action.extension" value="action" /> 指定struts的扩展名
<constant name="struts.devMode" value="true" /> 指定struts的开发模式
<constant name="struts.i18n.reload" value="action" /> 指定struts的资源文件自动重载
<constant name="struts.custom.i18n.resource" value="" /> 指定struts的国际化资源文件
<constant name="struts.configuration.xml.reload" value="" /> 指定struts的配置文件是否自动重载
<constant name="struts.ul.theme" value="xthml" /> 指定struts的模板
三、 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>
<s:url action="list" id="list"></s:url> <s:a href="%{list}">list</s:a> struts.properties 常用配置文件 <constant name="struts.i18n.encoding" value="UTF-8" />字符集 <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.convention.classes.reload" value="true" /> <constant name="struts.objectFactory" value="spring" /> 指定spring自动装载 <constant name="struts.action.extension" value="action" /> 指定struts的扩展名 <constant name="struts.devMode" value="true" /> 指定struts的开发模式 <constant name="struts.i18n.reload" value="action" /> 指定struts的资源文件自动重载 <constant name="struts.custom.i18n.resource" value="" /> 指定struts的国际化资源文件 <constant name="struts.configuration.xml.reload" value="" /> 指定struts的配置文件是否自动重载 <constant name="struts.ul.theme" value="xthml" /> 指定struts的模板 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 @Action(interceptorRefs={@InterceptorRef("validation"), @InterceptorRef("defaultStack")}) @ExceptionMappings({ @ExceptionMapping(exception = "java.lang.NullPointerException", result = "success", params = {"param1", "val1"}) }) @ParentPackage ---------------------------------------------------------------------------- <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"/> 在第主个页面之中 <meta name="author" content="test@example.com"> 在模板页中可以引用 <decorator:getProperty property="meta.author" default="staff@example.com" /> <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> <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> <listener> <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class> </listener> <filter> <filter-name>sitemesh</filter-name> <filter-class>org.apache.struts2.sitemesh.FreeMarkerPageFilter</filter-class> </filter> FreeMarker 扩展名是ftl <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> -<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>
一、 生成一个地址
二、 struts 常用配置
三、 convention action与文件的对应关系
四、 convention action对过虑器的调用
五、 Convention插件使用REST
六、 sitemesh 引用变量
七、 OpenSessionInViewFilter连接设置
八、 在WEB中加载spring
九、 Spring 刷新Introspector防止内存泄露
十、 在sitemesh中使用FreeMarker
十一、 FreeMarker
十二、 加载sitemesh
十三、 spring字符集转换
相关推荐
Struts2笔记 本人工作中积累的,故做成笔记以供大家一起学习进步. 模块分的非常详细,各个细节都会关注到,只挑选其精华,工作中用得到的技术!!! 不要看资源小,起到的作用却非常大!!!
本笔记将深入探讨Struts2的核心概念、执行流程、类型转换、输入验证和国际化等方面。 **一、Struts2框架基础** Struts2是Apache软件基金会的一个开源项目,它是基于拦截器的MVC框架,继承了WebWork框架的优点。...
本笔记主要涵盖了Struts2的基础知识,包括但不限于配置、Action、拦截器、结果类型以及异常处理等内容。 1. **Struts2框架简介** Struts2是Apache软件基金会的一个开源项目,它是Struts1的升级版,弥补了Struts1在...
Struts2是一个流行的Java web框架,...以上就是"马士兵Struts2笔记2013"中涉及的主要知识点,这些内容涵盖了Struts2的基础配置、数据处理、验证、调试以及与视图层的交互等方面,对于理解和掌握Struts2框架非常有帮助。
### Struts2框架核心概念与工作原理 #### 一、框架概述 Struts2是Apache组织维护的一个开源项目,它是Struts1的升级版本,在设计理念和技术实现上都有较大的改进。Struts2是一个基于MVC(Model-View-Controller)...
8. ** strut2显示图笔记**:这个笔记可能包含了Struts2架构的可视化表示,帮助理解各个组件之间的关系和工作流程,包括Action、Interceptor、Value Stack等的交互过程。 通过阅读这个HTML版的Struts2笔记,开发者...
本笔记主要涵盖了圣思园张龙老师在教学过程中讲解的Struts2核心概念与实战技巧。 首先,我们来了解Struts2的基本架构。Struts2框架通过拦截器(Interceptor)机制实现了对HTTP请求的处理,这些拦截器可以实现如日志...
赵栋的Struts2笔记主要涵盖了2013年的相关知识,以下是根据笔记内容提炼出的一些关键知识点: 1. **URL与Action方法绑定**: 在Struts2中,通过URL直接调用Action类的方法是可能的。如果在URL中附加"!"后跟方法名...
**Struts2笔记** Struts2是MVC(模型-视图-控制器)设计模式的一个实现,它为Java Web开发提供了强大的控制层。Struts2的核心是Action类,它处理用户请求并调用业务逻辑。以下是一些关键知识点: 1. **...
在“Struts2笔记_初步修改版_”中,我们可能会涵盖以下关键知识点: 1. **Struts2架构**:Struts2的核心是Action类,它是处理用户请求的中心。Action类与业务逻辑层交互,并通过Result返回视图。Struts2使用拦截器...
Struts2是一个强大的Java web应用程序开发框架,它基于Model-View-Controller(MVC)设计模式,为开发者提供了...通过阅读"struts2笔记[初步修改版].doc",读者将能够更深入地了解这个框架,并在实际项目中灵活运用。
总的来说,"struts2笔记和代码"涵盖了Struts2框架的基本原理、配置、拦截器、Action实现、视图展现以及实践应用等多个方面,对于学习和掌握Struts2具有很高的价值。通过深入研究这些笔记和代码,开发者不仅可以理解...
在这个"Struts2笔记代码"压缩包中,很可能是包含了一系列与Struts2相关的示例代码和学习资料。 Struts2的核心特性包括: 1. **Action类和结果类型**:Action类是业务逻辑的载体,负责处理用户的请求。每个Action...
### servlet和struts2笔记 #### 一、Servlet 基础 **Servlet** 是 Java Web 开发中的一种核心技术,它被设计用于处理客户端发送到服务器的 HTTP 请求,并且能够生成响应。Servlet 可以看作是服务器端的小程序,...
### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...
Struts2是一个强大的Java web应用程序开发框架,它遵循Model-View-Controller (MVC)设计模式,用于构建可维护性和可扩展性高的企业级应用。本文将深入探讨Struts2的核心概念,包括Action、Result、配置文件、OGNL与...
Struts2笔记PDF文件可能包含了对这个框架的深入理解和实践指导。 在Struts2中,核心概念包括Action、Result、Interceptor(拦截器)和Value Stack。Action是业务逻辑的载体,它处理用户请求并执行相应的业务操作。...
Servlet、JSP、Struts2笔记 Servlet基础 Servlet是运行在服务器上的程序,使用Java语言编译,并且使用Servlet接口来实现动态界面。Servlet需要接受客户端发送的请求,并将处理结果以响应的形式响应给客户端。 ...