struts2零配置參考演示样例
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
<url-pattern>*.jsp</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping> <?xml version="1.0" encoding="UTF-8"? >
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.devMode" value="false"/>
<constant name="struts.i18n.reload" value="false"/>
<constant name="struts.configuration.xml.reload" value="false"/>
<constant name="struts.convention.classes.reload" value="false" />
<!-- <constant name="struts.objectFactory" value="spring" /> -->
<constant name="struts.ui.theme" value="simple"/>
<constant name="struts.action.extension" value="action,do"/>
<constant name="struts.i18n.encoding" value="UTF-8"/>
<constant name="struts.enable.DynamicMethodInvocation" value="true"/><!--user!login方式为true,user_login通配符为false。零配置使用false会有问题 -->
<!--struts.convention零配置 -->
<constant name="struts.convention.action.mapallmatches" value="true"/>
<constant name="struts.convention.action.suffix" value="Action"/><!-- 扫描以Controller为后缀名的类,值仅仅有一个 -->
<constant name="struts.convention.action.name.lowercase" value="true"/>
<constant name="struts.convention.action.name.separator" value="_"/><!--按以上3个配置。比方为HelloWorldController。 依照配置,映射的url为hello_world.jsp -->
<constant name="struts.convention.result.path" value="/WEB-INF/pages"/><!-- action跳转后视图存放位置 -->
<constant name="struts.convention.default.parent.package" value="crud-default" /><!-- 默认是default。要使用零配置须要配置成convention-default或者继承它 -->
<constant name="struts.convention.package.locators" value="controller,action" /><!-- 指定搜寻包的路径 -->
<constant name="struts.convention.package.locators.basePackage" value="com.thinkmore.business" /><!-- 指定搜寻包的根路径 -->
<constant name="struts.convention.relative.result.types" value="dispatcher,freemarker,velocity"/><!-- 先找jsp。否则依次查找 -->
<!-- 用于CRUD Action的parent package。继承了零配置类 -->
<package name="crud-default" extends="convention-default">
<!-- 基于paramsPrepareParamsStack,添加store interceptor保证actionMessage在redirect后不会丢失 -->
<interceptors>
<interceptor-stack name="crudStack">
<interceptor-ref name="store">
<param name="operationMode">AUTOMATIC</param>
</interceptor-ref>
<!-- 顾名思义。这里的paramsPrepareParamsStack调用interceptor顺序是先params然后prepare最后再params,
而defaultStack是直接prepare然后params
若Action实现Preparable接口,则Action方法需实现prepare()方法
-->
<interceptor-ref name="paramsPrepareParamsStack" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="crudStack" />
</package>
</struts>
struts2零配置參考演示样例的更多相关文章
- Tuxedo安装、配置、以及演示样例程序 (学习网址)
Tuxedo安装.配置.以及演示样例程序 (学习网址): 1.http://liu9403.iteye.com/blog/1415684 2.http://www.cnblogs.com/fnng/a ...
- EEPlat vs saleforce 配置 Knowledge Article 演示样例
==================================================================================================== ...
- C语言结构体及函数传递数组參数演示样例
注:makeSphere()函数返回Sphere结构体,main函数中.调用makeSphere()函数,传递的第一个參数为数组,传递的数组作为指针.
- 函数指针使用演示样例(參考Linux-内核代码)
本文有xhz1234(徐洪志)编写,转载请注明出处. http://blog.csdn.net/xhz1234/article/details/36635083 作者:徐洪志 近期阅读Linux-内核 ...
- RPM安装包-Spec文件參数具体解释与演示样例分析
spec文件是整个RPM包建立过程的中心,它的作用就如同编译程序时的Makefile文件. 1.Spec文件參数 spec文件包括建立一个RPM包必需的信息,包括哪些文件是包的一部分以及它们安装在哪个 ...
- Cocos2d-x 3.2Lua演示样例UserDefaultTest(用户默认配置)
Cocos2d-x 3.2演示样例UserDefaultTest(用户默认配置) 本篇博客介绍Cocos2d-x 3.2演示样例中的UserDefaulstTest,我们在开发中可能须要用到一些默认配 ...
- JDBC连接MySQL数据库及演示样例
JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...
- 构造Scala开发环境并创建ApiDemos演示样例项目
从2011年開始写Android ApiDemos 以来.Android的版本号也更新了非常多,眼下的版本号已经是4.04. ApiDemos中的样例也添加了不少,有必要更新Android ApiDe ...
- Eureka 的 Application Client client的执行演示样例
上篇以一个 demo 演示样例介绍了 Eureka 的 Application Service 客户端角色.今天我们继续了解 Eureka 的 Application Client 客 ...
随机推荐
- vim:将刚写的单词大写和单词的定义
最近打算把caps lock映射成<esc>键,那按起来多爽,现在的有一个小问题,如何快捷的输入大写字母. 用这个键盘映射搞定. inoremap <c-u> <esc& ...
- Go从入门到精通(一)go语言初识
一.第一个go程序 package main import ( "fmt" ) func main(){ fmt.Println("hello world") ...
- SQL中的LIKE中用参数化查询
今天终于学会怎么在like中用参数化查询啦..哈哈..再也不用担心sql注入了...
- sudo日志记录记录(rsyslog)
1,查软件 rpm -qa|egrep "sudo|rsyslog" 2,编辑sudoers echo "Defaults logfile=/var/log/sudo.l ...
- C++ 11 STL算法
STL算法部分主要由头文件<algorithm>,<numeric>,<functional>组成.要使用 STL中的算法函数必须包含头文件<algorith ...
- sqlachemy中批量删除的问题
db.session.query(Article).filter(Article.id.in_(items)).delete() 报错: sqlalchemy.exc.InvalidRequestEr ...
- pyQt绘图
def paintEvent(self, e): qp = QtGui.QPainter() qp.begin(self) self.DrawChessBoard(qp) self.Draw_Ches ...
- c++包管理工具conan
Conan is a portable package manager, intended for C and C++ developers, but it is able to manage bui ...
- css3实现的鼠标经过按钮特效
今天要为各网友再带来一款css实现的鼠标经过按钮的特效.按钮初始时,边框为断开的按钮,当鼠标经过按钮时动画变为封闭的边框.效果图如下: 在线预览 源码下载 我们一起看下实现的代码: html代码: ...
- javascript 常用对象
<!doctype html> <head> <script type="text/javascript"> /* ps:需要注意的是部分的方法 ...