一、struts2-convention-plugin配置文件具体解释

<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/"/>

  设置Convention插件定位视图资源的根路径。默认值为/WEB-INF/content/

  <constant name="struts.convention.result.flatLayout" value="true"/>

  假设设置为false,则能够将视图页面放置Action相应的文件夹下(无需放入/WEB-INF/content/下)

  <constant name="struts.convention.action.suffix" value="Action"/>

  Convention搜索Action类的类名后缀。默认值为Action

  <constant name="struts.convention.action.disableScanning" value="false"/>

  是否通过禁止包扫描Action。默认值是false

  <constant name="struts.convention.action.mapAllMatches" value="false"/>

  设置即使没有@Action凝视。依旧创建Action映射。默认值是false

  <constant name="struts.convention.action.checkImplementsAction" value="true"/>

  设置是否实现了Action接口的类映射成Action。默认值是ture

  <constant name="struts.convention.default.parent.package" value="convention-default"/>

  设置Convention映射的Action所在包的默认父包。

默认值是convention-default

  <constant name="struts.convention.action.name.lowercase" value="true"/>

  设置映射Action时,是否将Action的name属性值转为全部字母小写。默认值是true

  <constant name="struts.convention.action.name.separator" value="-"/>

  设置映射Action时指定name属性值个单词之间的分隔符。默认值是中画线

  <constant name="struts.convention.package.locators" value="action,actions,struts,struts2"/>

  Convention插件使用该常量指定包作为搜索Action的根包默认值是action,actions,struts,strtus2

  <constant name="struts.convention.package.locators.disable" value="false"/>

  指定禁止从Action的根包里所搜Action。默认值是false

  <constant name="struts.convention.package.locators.basePackage" value=""/>

  假设指定了该常量,Convention仅仅会从以该常量值開始的包中搜索Action类。

  <constant name="struts.convention.exclude.packages" value="org.apache.struts.*,org.apache.struts2.*,org.springframework.web.struts.*,org.springframework.web.struts2.*,org.hibernate.*"/>

  指定排除在搜索Action之外的包。默认值为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"/>

  指定Convention映射Result时默认支持的结果类型。默认值是dispatcher,velocity,freemarker

  <constant name="struts.convention.redirect.to.slash" value="true"/>

  设置是否重定向到斜线(/)。比如用户请求/foo,但/foo不存在时。假设设置该常量为则可重定向到/foo/。默认值是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" />

二、project实例

(一) struts2-convention-plugin依赖包,放到projectlib文件夹下:

(二) web.xml 配置

(三) strut2.xml配置

<?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="true"/>                                  
<!-- 开发模式 -->

  <constant name="struts.configuration.xml.reload" value="true" />
<!-- 配置文件又一次载入 -->  

  <constant name="struts.i18n.encoding" value="UTF-8"/>                          
<!-- Web运用编码 -->

  <constant name="struts.convention.result.path" value="/" />                
<!-- 搜索视图资源的路径 -->

  <constant name="struts.convention.action.name.separator" value="_" />    <!-- Action类名分隔符 -->

  <constant name="struts.convention.classes.reload" value="true" />              <!-- convention类重载入 -->

  <constant name="struts.convention.action.suffix" value="Action" />             <!-- Action后缀名 -->

  <constant name="struts.action.extension" value="action,do,html,htm,php,aspx" /> <!-- Action扩展名 -->

  <constant name="struts.convention.package.locators" value="action,actions" />   <!-- 搜索Action资源的包路径 -->

  

  <!-- 启用动态方法调用 true:actionName!Method.action这样的形式好用。false:actionName!Method不好用-->  

  <constant name="struts.enable.DynamicMethodInvocation" value="true" />

  <!-- 结果类型 -->  

  <constant name="struts.convention.relative.result.types" value="dispatcher,freemarker"/>

  <!-- 基于什么包 -->  

  <constant name="struts.convention.package.locators.basePackage" value="net.yeah.fancydeepin.action"/>

  <!-- 名称首字母小写 -->  

  <constant name="struts.convention.action.name.lowercase" value="true"/>

  <!-- 检查是否实现action -->  

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

<interceptors>  

       <interceptor-stack name="defaultStack">  

           <interceptor-ref name="exception" />  

           <interceptor-ref name="servletConfig" />  

           <interceptor-ref name="actionMappingParams" />  

           <interceptor-ref name="staticParams" />  

           <interceptor-ref name="params" />  

       </interceptor-stack>  

   </interceptors> 

  </package>

</struts>

(四) 在src文件夹下新建DemoAction类,配置例如以下图所看到的:

(五) 在projectwebRoot文件夹下,新增index.jsp 和error.jsp,index.jsp 文件内容里面加

<a href="./demo!error.action">生成错误</a>

java痛苦学习之路[四]---关于struts2-convention-plugin使用的更多相关文章

  1. java痛苦学习之路[十]--日常问题汇总

    FIddler2 1.FIddler2  request请求的參数出现中文乱码问题时,须要进行一下设置: 打开注冊表编辑器,找到HKCU\Software\Microsoft\Fiddler 2\,在 ...

  2. java痛苦学习之路[十二]JSON+ajax+Servlet JSON数据转换和传递

    1.首先client须要引入 jquery-1.11.1.js 2.其次javawebproject里面须要引入jar包  [commons-beanutils-1.8.0.jar.commons-c ...

  3. Java NIO 学习笔记(四)----文件通道和网络通道

    目录: Java NIO 学习笔记(一)----概述,Channel/Buffer Java NIO 学习笔记(二)----聚集和分散,通道到通道 Java NIO 学习笔记(三)----Select ...

  4. Struts2 Convention Plugin ( struts2 零配置 )

    Struts2 Convention Plugin ( struts2 零配置 ) convention-plugin 可以用来实现 struts2 的零配置.零配置的意思并不是说没有配置,而是通过约 ...

  5. java的学习之路01

    [原创 - 尚学堂科技 - 马士兵老师] JAVA自学之路 一:学会选择 [转载请注明出处:http://www.bjsxt.com/zixue/zixuezhilu_1.html] 为了就业,不少同 ...

  6. Redis——学习之路四(初识主从配置)

    首先我们配置一台master服务器,两台slave服务器.master服务器配置就是默认配置 端口为6379,添加就一个密码CeshiPassword,然后启动master服务器. 两台slave服务 ...

  7. Java的学习之路

    记事本 EditPlus eclipse Java的学习软件,已经系统性学习Java有一段时间了,接下来我想讲一下我在Java学习用到的软件. 1.第一个软件:记事本 记事本是Java学习中最基础的编 ...

  8. Java开发学习(二十四)----SpringMVC设置请求映射路径

    一.环境准备 创建一个Web的Maven项目 参考Java开发学习(二十三)----SpringMVC入门案例.工作流程解析及设置bean加载控制中环境准备 pom.xml添加Spring依赖 < ...

  9. [原创]java WEB学习笔记55:Struts2学习之路---详解struts2 中 Action,如何访问web 资源,解耦方式(使用 ActionContext,实现 XxxAware 接口),耦合方式(通过ServletActionContext,通过实现 ServletRequestAware, ServletContextAware 等接口的方式)

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

随机推荐

  1. java中 抽象类和抽象方法

    在面向对象中,所有的对象都是由类来描绘的,但是并不是所有的类都用来描绘对象的,当一个类并不能包含完整的信息来描绘一个具体的对象时,我们把这个类称为抽象类.抽象类除了不完整的描述一个对象之外,其他的功能 ...

  2. SwiftUI 官方教程(二)

    SwiftUI 官方教程(二) 2. 自定义 Text View 为了自定义 view 的显示,我们可以自己更改代码,或者使用 inspector 来帮助我们编写代码. 在构建 Landmarks 的 ...

  3. golang iris下面的websocket

    最近要做后台主动推送:(iris框架,封装的有wesocket,刚开始以为直接拿过来用,结果不是现在贴一下代码,写一下遇到的坑) func main() {    app := iris.New()  ...

  4. Hadoop MapReduce编程 API入门系列之join(二十六)(未完)

    不多说,直接上代码. 天气记录数据库 Station ID Timestamp Temperature 气象站数据库 Station ID Station Name 气象站和天气记录合并之后的示意图如 ...

  5. canvas的常用api

    canvas 标签 <canvas width="600" height="400" id="canvas"></canv ...

  6. Java基础10一面向对象

    抽象 概念:当一个类中没有足够的信息描述一个现实生活中具体存在的事物,那么这个类就是抽象类. 抽象类一般是对概念领域中的描述. 语法: [访问修饰符] abstract class 类名{ } 如: ...

  7. 常用的CSS命名

    头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体佈局宽度:wrapper 左右中:left rig ...

  8. 定义maven的项目结构

    创建一个Maven 的父项目 新建一个maven项目,选中create a simple project 填写以下内容: 如下内容: Group Id :edu.zipcloud.cloudstree ...

  9. c++ 编译期与运行期

    分享到 一键分享 QQ空间 新浪微博 百度云收藏 人人网 腾讯微博 百度相册 开心网 腾讯朋友 百度贴吧 豆瓣网 搜狐微博 百度新首页 QQ好友 和讯微博 更多... 百度分享 转自:http://h ...

  10. 「JavaSE 重新出发」05.03.03 使用反射编写泛型数组代码

    Employee[] a = new Employee[100]; // ... // array is full a = Arrays.copyOf(a, 2 * a.length); 如何编写这样 ...