一、 生成一个地址
<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字符集转换

1104

被折叠的 条评论
为什么被折叠?



