`
张洪财
  • 浏览: 275887 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

springside Convention (转)

阅读更多

第一部分:

在Struts2的相关WEB开发过程了,经常用Convention插件,使用Convention插件,实现约定大于配置的零配置文件风格.特殊的Result路径在Action类中使用@Result设定.
在页面开发中,经常要用到 "!"来实现跳转到struts2中Action类的自定义方法,例如:

      <a href="login!submit.action">跳转</a></li>
就会跳转到LoginAction类的submit方法,不过要想实现这一功能,还得在struts.xml加入如下配置:

          <!-- 启用动态方法调用 -->
    <constant name="struts.enable.DynamicMethodInvocation" value="true" />

 

 

第二部分:

  我来记录一下Convention插件都能在struts.xml文件中配置哪些功能。

 

<struts>
    <!--开发模式设置开始//-->
    <!--++++++++++++++++++++++++++++++++++++++++++++++++开发状态 -->
    <constant name="struts.devMode" value="true" />
    <!-- 国际化资源重新加载  -->
    <constant name="struts.i18n.reload" value="true" />
    <!-- 配置文件重新加载 -->
    <constant name="struts.configuration.xml.reload" value="true" />
    <!-- convention类从新加载 -->
    <constant name="struts.convention.classes.reload" value="true" />
    <!--++++++++++++++++++++++++++++++++++++++++++++++++开发模式结束 -->
    <!-- 主题 -->
    <constant name="struts.ui.theme" value="simple" />
    <!-- 地区 -->
    <constant name="struts.locale" value="zh_CN" />
    <!-- 国际化编码 -->
    <constant name="struts.i18n.encoding" value="UTF-8" />
    <!--  扩展-->
    <constant name="struts.action.extension" value="action,do,jsp" />
    <!-- 启用动态方法调用 -->
    <constant name="struts.enable.DynamicMethodInvocation" value="true" />
    <!-- 设置Struts 2是否允许在Action名中使用斜线 -->
    <constant name="struts.enable.SlashesInActionNames" value="false" />
    <!-- 结果资源所在路径 -->
    <constant name="struts.convention.result.path" value="/"/>  
    <!-- action后缀 -->
    <constant name="struts.convention.action.suffix" value="Action"/>  
    <!-- 名称首字母小写 -->
    <constant name="struts.convention.action.name.lowercase" value="true"/>  
    <!-- 分隔符一个action名字的获取。比如为HelloWorldAction。按照配置,actionName为hello_world。 -->
    <constant name="struts.convention.action.name.separator" value="_"/>  
    <!-- 禁用扫描 -->
    <constant name="struts.convention.action.disableScanning" value="false"/>  
    <!-- 默认包 -->
    <constant name="struts.convention.default.parent.package" value="default"/>  
    <!--确定搜索包的路径。只要是结尾为action的包都要搜索。basePackage按照默认不用配置,如果配置,只会找以此配置开头的包。locators及locators.basePackage都是一组以逗号分割的字符串。 -->
    <constant name="struts.convention.package.locators" value="action"/>  
    <!-- 禁用包搜索 -->
    <constant name="struts.convention.package.locators.disable" value="false"/>  
    <!-- 基于什么包 -->
    <constant name="struts.convention.package.locators.basePackage" value="cn.com.action"/>
    <!--  排除的包 -->
    <constant name="struts.convention.exclude.packages" value="org.apache.struts.*,org.apache.struts2.*,org.springframework.web.struts.*,org.springframework.web.struts2.*,org.hibernate.*"/>
    <!-- 包含的包 -->
    <!-- 包括的jar,一般用于大型项目,其action一般打包成jar -->
    <constant name="struts.convention.action.includeJars" value="" />
    <!-- 结果类型 -->
    <constant name="struts.convention.relative.result.types" value="dispatcher,freemarker"/>  
    <!--  
     如果此值设为true,如果一个action的命名空间为/login,名称为HelloWorldAction。result返回值是success,默认会找到/WEB-INF/pages/login/hello_world.jsp(如果有hello_world_success.jsp就找这个文件,连接符“_”是在<constant name="struts.convention.action.name.separator" value="_"/>中配置的)。如果有一个action的result返回值是“error”,就会找/WEB-INF/pages /login/hello_world_error.jsp。  
 
      如果此值设为false,如果一个action的命名空间为/login,名称为HelloWorldAction。result返回值是success,默认会找到/WEB- INF/pages/login/hello_world/index.jsp(如果有success.jsp就找这个文件)。如果有一个action的result返回值是“error”,就会找/WEB-INF/pages /login/hello_world/error.jsp。  
     -->
    <constant name="struts.convention.result.flatLayout" value="true"/>
    <constant name="struts.convention.action.mapAllMatches" value="false"/>  
    <!-- 检查是否实现action -->
    <constant name="struts.convention.action.checkImplementsAction" value="true"/>
    <constant name="struts.mapper.alwaysSelectFullNamespace" value="false"/>
    <constant name="struts.convention.redirect.to.slash" value="true"/>
    <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>

 

分享到:
评论

相关推荐

    springside 玩转acegi

    标题 "springside 玩转acegi" 涉及到的是SpringSide项目中对Acegi安全框架的使用,Acegi是Spring早期的一个安全模块,后来被Spring Security所取代。Acegi提供了一套全面的Java安全解决方案,包括认证、授权、会话...

    SpringSide4 参考手册

    SpringSide4参考手册是一份详尽的文档,涵盖了使用SpringSide4.0版本开发应用时可能会用到的各种技术组件和模块。SpringSide是一个开源的Java开发平台,它集成了Spring框架和大量实用的组件,以方便开发人员构建复杂...

    springside-3.2.2源码

    《SpringSide 3.2.2 源码解析与技术深度探讨》 SpringSide 是一个基于 Spring Framework 的 Java 开发工具集,旨在简化 Spring 应用程序的开发过程,提供一套快速、现代且规范的开发实践。SpringSide 3.2.2 版本是...

    Springside-core-4.1.0/Springside-core-4.1.0

    《SpringSide核心库4.1.0深度解析》 SpringSide是Java开发中的一款轻量级框架,它基于Spring框架,旨在简化企业级应用的开发流程。本文将深入探讨SpringSide-core-4.1.0的核心特性,以及其在实际项目中的应用。 一...

    springside开发全面讲解

    《springside开发全面讲解》是一份旨在帮助开发者深入了解并掌握springside框架的详尽教程。springside是一款基于Spring框架的轻量级开发工具集,它为Java开发提供了简洁、高效的解决方案,尤其适合中大型项目的开发...

    springside-core-4.2.2.GA(含关联的test.jar)

    pom.xml配置 ...mvn install:install-file -DgroupId=org.springside -DartifactId=springside-core -Dversion=4.2.2.GA -Dfile=./springside-core-4.2.2.GA.jar -Dpackaging=jar -DgeneratePom=true

    springside3.0.zip

    《SpringSide 3.0:Java企业开发的高效框架指南》 SpringSide 3.0 是一个基于Spring框架的开源项目,旨在为Java开发者提供一套高效、简洁的开发规范和工具集。它不仅包含了Spring的核心模块,还整合了其他优秀的...

    有springside4.2.3-GA.jar 包

    《深入解析springside4.2.3-GA.jar:Java开发者的宝藏库》 在Java开发领域,SpringSide框架以其高效、灵活和强大的特性深受开发者喜爱。本文将围绕springside4.2.3-GA.jar这个核心组件,探讨其在Java应用中的重要...

    springside

    《SpringSide:全面解析与应用》 SpringSide项目是一个基于Java的开源软件开发框架,它以Spring Framework为核心,旨在提供一套简洁、规范的项目构建和开发实践。在深入理解SpringSide之前,我们首先需要了解Spring...

    springside-案例

    【标题】"springside-案例"所涉及的是SpringSide项目,这是一个开源的Java开发框架,旨在简化Spring框架的使用,提高开发效率。SpringSide是一个精心设计的、用于快速构建企业级应用的模板项目,它提供了清晰的代码...

    springside4(showcase)

    《SpringSide 4:Spring MVC 实战展示》 在IT领域,SpringSide 4是一个备受推崇的开源项目,它是一个全面展示Spring框架及其生态系统的实战示例。标题"Springside4 (showcase)"暗示了这是一个以展示SpringSide 4...

    springside3.3.4 使用方法

    ### springside3.3.4使用方法与SSH整合详解 #### 一、Springside简介 Springside项目是基于Spring框架的一个应用架构示例,它提供了一套完整的开发模式来构建企业级Java Web应用程序。Springside 3.3.4版本作为一...

    SpringSide3.3.4安装部署

    SpringSide3.3.4 安装部署详解 SpringSide3.3.4 安装部署是指在计算机上安装和部署 SpringSide3.3.4 软件的过程。在这个过程中,我们需要使用 Maven 工具来生成项目模板,安装 mini-web 应用程序,并配置相应的...

    Springside4 学习整理

    【Springside4 学习整理】 Springside4 是一个基于 JavaEE 平台的开源项目,它围绕 Spring Framework 构建,旨在提供实用的示例和最佳实践。Springside4 不是一个完整的框架,而是一个架构示例,帮助开发者理解和...

    springside-4.0.0.GA.zip

    《SpringSide 4.0.0.GA:JavaEE世界的春天之光》 SpringSide,一个以Spring Framework为核心,秉持Pragmatic编程理念的JavaEE应用参考实例,它旨在为开发者提供主流技术选型的示范,展示JavaEE世界中的最佳实践。这...

Global site tag (gtag.js) - Google Analytics