• java痛苦学习之路[四]---关于struts2-convention-plugin使用


    一、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>

          

        




  • 相关阅读:
    创业:路漫漫其修远兮 吾将上下而求索
    一些忠告给想转行当程序员的你
    那些年薪百万的程序员“咸鱼翻身”没有透露的秘密
    Ajax请求ashx一般处理程序实现文件下载
    ASP.Net Web 点击链接直接下载 不在浏览器打开
    JQuery 字符串截取
    Jquery not选择器实现元素显示隐藏
    Jquery获取元素坐标
    ThinkPHP Uploadify 图片上载
    Extjs4.2.1学习笔记[更新]
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/7026989.html
Copyright © 2020-2023  润新知