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>
时间: 2024-10-23 17:19:22

struts2零配置参考示例的相关文章

Struts2 Convention Plugin ( struts2 零配置 )

Struts2 Convention Plugin ( struts2 零配置 ) convention-plugin 可以用来实现 struts2 的零配置.零配置的意思并不是说没有配置,而是通过约定大于配置的方式,大量通过约定来调度页面的跳转而使得配置大大减少.考虑到某种因素,这里采用 myeclipse 作为示例 IDE,环境 : JDK 1.6 myeclipse 8.6.1 struts 2.1.8 web.xml <filter>       <filter-name>

Struts2零配置介绍(约定访问)

从struts2.1开始,struts2 引入了Convention插件来支持零配置,使用约定无需struts.xml或者Annotation配置 需要 如下四个JAR包 插件会自动搜索如下类 action.actions.struts.struts2包下所有Java类 所有实现了com.opensymphony.xwork2.Action的Java类 所有类名以Action结尾的Java类 下面类名都符合Convention插件 cn.yzu.struts2.HelloAction cn.yz

菜鸟学Struts2——零配置(Convention )

又是周末,继续Struts2的学习,之前学习了,Struts的原理,Actions以及Results,今天对对Struts的Convention Plugin进行学习,如下图: Struts Convention支持零配置进行开发,也就是约定约定优于配置的方式. (1)环境准备 使用Convention Plugin进行开发,需要引入struts2-convention-plugin,完整的pom.xml依赖如下: 1 <dependency> 2 <groupId>org.apa

Openvpn安装配置参考示例收藏版

1.配置安装环境: [[email protected] ~]# yum install -y gcc gcc-c++ pam-devel openssl penssl-devel [[email protected] ~]# yum install -y lrzsz    (SecureCRT 上传下载) 2.关闭SELINUX.清除防火墙设置 [[email protected] ~]#vi /etc/selinx/config #     disabled - No SELinux pol

gitlab-8.7.4一键自动安装以及邮件通知配置参考示例

[[email protected] ~]# ./bitnami-gitlab-8.7.4-0-linux-x64-installer.run The installer detects that exists a 'git' user in the system. This installer will change the config                        uration for this user. Do you want to continue the inst

JAVAWEB开发之Struts2详解(二)——Action接受请求参数、类型转换器、使用Struts2的输入校验、以及遵守约定规则实现Struts2的零配置

Action接受请求参数 作为MVC框架,必须要负责解析HTTP请求参数,并将其封装到Model对象中 Struts2提供了非常强大的类型转换机制用于请求数据 到 model对象的封装 Struts2和MVC定义关系 StrutsPrepareAndExecuteFilter:控制器 在Struts2中action是什么?(Struts2是一个MVC框架) V:jsp M:action C:action StrutsPrepareAndExecuteFilter Struts2提供了三种数据封装

struts2 Convention插件零配置,使用注解开发

从struts21开始,struts2不再推荐使用codebehind作为零配置插件,而是改用Convention插件来支持零配置.与以前相比较,Convention插件更彻底. 使用Convention插件,需要将struts2-convention-plugin-2.3.1.2.jar文件复制到lib目录中即可 这个插件是自动搜索action的功能: 规则如下:它会自动搜索位于action,actions,struts.struts2包下的java类.   Convention插件会把如下两

Spring MVC的WebMvcConfigurerAdapter用法收集(零配置,无XML配置)

原理先不了解,只记录常用方法 用法: @EnableWebMvc 开启MVC配置,相当于 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi

Struts 2零配置

从struts2.1开始,struts2不再推荐使用Codebehind作为零配置插件,而是改为使用Convention插件来支持零配置,和Codebehind相比,Convention插件更彻底,该插件完全抛弃配置信息,不仅不需要是使用struts.xml文件进行配置,甚至不需要使用Annotation进行配置,而是由struts2根据约定自动配置. 如何使用Convention 1.       将struts-Convention-plugin-2.1.6.jar文件复制到WEB-INF/