convention 插件的作用

convention 插件的作用 struts-plugin.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!--
/*
 * $Id: struts-plugin.xml 1221225 2011-12-20 12:22:28Z jogep $
 *
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
-->

<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts order="20">
  <bean type="com.opensymphony.xwork2.UnknownHandler" name="convention" class="org.apache.struts2.convention.ConventionUnknownHandler"/>

  <bean type="org.apache.struts2.convention.ActionConfigBuilder" name="convention" class="org.apache.struts2.convention.PackageBasedActionConfigBuilder"/>
  <bean type="org.apache.struts2.convention.ActionNameBuilder" name="convention" class="org.apache.struts2.convention.SEOActionNameBuilder"/>
  <bean type="org.apache.struts2.convention.ResultMapBuilder" name="convention" class="org.apache.struts2.convention.DefaultResultMapBuilder"/>
  <bean type="org.apache.struts2.convention.InterceptorMapBuilder" name="convention" class="org.apache.struts2.convention.DefaultInterceptorMapBuilder"/>
  <bean type="org.apache.struts2.convention.ConventionsService" name="convention" class="org.apache.struts2.convention.ConventionsServiceImpl"/>

  <bean type="com.opensymphony.xwork2.config.PackageProvider" name="convention.packageProvider" class="org.apache.struts2.convention.ClasspathPackageProvider"/>
  <bean type="com.opensymphony.xwork2.config.PackageProvider" name="convention.containerProvider" class="org.apache.struts2.convention.ClasspathConfigurationProvider"/>

  <constant name="struts.convention.actionConfigBuilder" value="convention"/>
  <constant name="struts.convention.actionNameBuilder" value="convention"/>
  <constant name="struts.convention.resultMapBuilder" value="convention"/>
  <constant name="struts.convention.interceptorMapBuilder" value="convention"/>
  <constant name="struts.convention.conventionsService" value="convention"/>

  <constant name="struts.convention.result.path" value="/WEB-INF/content/"/>
  <constant name="struts.convention.result.flatLayout" value="true"/>
  <constant name="struts.convention.action.suffix" value="Action"/>
  <constant name="struts.convention.action.disableScanning" value="false"/>
  <constant name="struts.convention.action.mapAllMatches" value="false"/>
  <constant name="struts.convention.action.checkImplementsAction" value="true"/>
  <constant name="struts.convention.default.parent.package" value="convention-default"/>
  <constant name="struts.convention.action.name.lowercase" value="true"/>
  <constant name="struts.convention.action.name.separator" value="-"/>
  <constant name="struts.convention.package.locators" value="action,actions,struts,struts2"/>
  <constant name="struts.convention.package.locators.disable" value="false"/>
  <constant name="struts.convention.package.locators.basePackage" value=""/>
  <constant name="struts.convention.exclude.packages" value="org.apache.struts.*,org.apache.struts2.*,org.springframework.web.struts.*,org.springframework.web.struts2.*,org.hibernate.*"/>
  <constant name="struts.convention.relative.result.types" value="dispatcher,velocity,freemarker"/>
  <constant name="struts.convention.redirect.to.slash" value="true"/>
  <constant name="struts.convention.action.alwaysMapExecute" value="true"/>
  <constant name="struts.mapper.alwaysSelectFullNamespace" value="true"/>
  <!-- <constant name="struts.convention.action.includeJars"  /> -->
  <constant name="struts.convention.action.fileProtocols" value="jar" />

  <constant name="struts.convention.classes.reload" value="false" />

  <constant name="struts.convention.exclude.parentClassLoader" value="true" />

  <package name="convention-default" extends="struts-default">
  </package>
</struts>


应用eg:

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" 
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>


    <!-- 开发模式 -->
    <constant name="struts.devMode" value="false" />
    
    <!-- 国际化 -->
    <constant name="struts.i18n.encoding" value="UTF-8" />
	<constant name="struts.configuration.xml.reload" value="true" />


    <!-- 确保Spring的自动装配策略总是被考虑 -->
	<constant name="struts.objectFactory.spring.autoWire.alwaysRespect" value="true" />
	<!-- 允许标签使用静态方法 -->
	<constant name="struts.ognl.allowStaticMethodAccess" value="true"/>
	<!-- 文件上传大小限制(KB) 2M:2097152=2*1024*1024 -->
    <constant name="struts.multipart.maxSize" value="2097152"/>
    
    <!-- 开启动态方法调用 -->  
    <constant name="struts.enable.DynamicMethodInvocation" value="true" />
    
    <!-- 使用Convention插件,实现约定大于配置的零配置文件风格. 特殊的Result路径在Action类中使用@Result设定. -->
     
	<!-- 指定默认的父包 -->
	<constant name="struts.convention.default.parent.package" value="default" />
	<!-- 设置convention插件默认的根包 -->
	<constant name="struts.convention.package.locators" value="action,web,common" />
	<!-- 搜索视图资源的路径 jsp路径 -->
	<constant name="struts.convention.result.path" value="/WEB-INF/jsp/"/>
	<!-- Action类名分隔符 -->
	<constant name="struts.convention.action.name.separator" value="-" />
	<!-- 搜索此配置下的所有包 -->
	<constant name="struts.convention.package.locators.basePackage" value="com.eryansky.web" />
    
	<!-- 继承convention-default包,定义一个默认的拦截器,根据需要还可扩展 -->
	<package name="default" extends="convention-default">
		<interceptors>
			<!-- 表单输入特殊字符Html转译、敏感词汇转译拦截器 -->
			<interceptor name="inputReplaceInterceptor" class="com.eryansky.common.web.struts2.interceptor.InputReplaceInterceptor" />
			<!-- 登录验证拦截器 -->
			<interceptor name="authority" class="com.eryansky.common.web.struts2.interceptor.AuthorityInterceptor" />
			<!-- 异常处理拦截器 -->
			<interceptor name="exceptionAuthority" class="com.eryansky.common.web.struts2.interceptor.ExceptionInterceptor" />
			<interceptor-stack name="crudStack">
				<interceptor-ref name="inputReplaceInterceptor" /> 
				<!-- 将登录验证拦截器加入默认的拦截器栈中 -->
				<interceptor-ref name="authority">
					<param name="excludeMethods">welcome,login</param>
				</interceptor-ref>
				<interceptor-ref name="exceptionAuthority" />
				<interceptor-ref name="paramsPrepareParamsStack" />
			</interceptor-stack>
			
			<!-- url param定义拦截器  -->
			<interceptor name="urlParamsInterceptor" class="com.eryansky.common.web.struts2.interceptor.UrlParamsInterceptor" />
		</interceptors>
		<default-interceptor-ref name="crudStack" />
		
		<global-results>
		    <result name="login" type="redirect">/jump.jsp</result>
        </global-results>
        
        
        <action name="fileRedirect" class="com.eryansky.common.web.struts2.FileRedirectAction" method="redirect"></action>
	</package>
	
</struts>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值