1.struts中Action的开发方式

  • 继承ActionSupport类,这种方法实现的Action可以进行数据校验;
  • 实现Action接口;
  • 不继承任何类,不实现任何接口;

  是否继承类或实现接口,struts都会进行默认拦截器的启动,拦截器的启动和Action没有关系。

2.struts中的通配符

  在对action进行配置时,会有重复的情况

<action name="login" class="com.juaner.action.UserAction" method="login">
<result name="login">/login.jsp</result>
</action>
<action name="register" class="com.juaner.action.UserAction" method="register">
<result name="register">/register.jsp</result>
</action>

  此时可以使用*占位符和{}的方式进行统配,从而防止重复配置。

<action name="user_*" class="com.juaner.type.UserAction" method="{1}">
<result name="success">/{1}.jsp</result>
</action>

3.struts中的常量

  • 全局跳转页面

  在action的配置中,可能出现多个action中同一个result返回类型对应同一个跳转页面的情况

<action name="login" class="com.juaner.action.UserAction" method="login">
<result name="success">/success.jsp</result>
</action>
<action name="register" class="com.juaner.action.UserAction" method="register">
<result name="success">/success.jsp</result>
</action>

  此时可以配置全局跳转页面

<global-results>
<result name="success">/success.jsp</result>
</global-results>

  当多个struts配置文件中有多个action配置了相同的name时,按照包含文件的顺序,后面的覆盖前面的。

  • 默认访问后缀

  struts 1中,默认访问后缀为.do,struts 2中默认访问后缀为.action,可以配置默认访问后缀

<constant name="struts.action.extension" value="action,do,"/>

  其中,value的值对应的后缀如下:

action,do --->后缀可以为.action/.do

action,do,--->后缀可以为.action/.do/无后缀

action     --->后缀只能为action

  • 指定默认编码集

  作用于HttpServletRequest的setCharacterEncoding方法 和freemarker 、velocity的输出,默认为UTF-8

<constant name="struts.i18n.encoding" value="UTF-8"/>
  • 设置浏览器是否缓存静态内容

  默认值为true(生产环境下使用),开发阶段最好关闭

<constant name="struts.serve.static.browserCache" value="false"/>
  • 设置系统是否自动重新加载struts配置文件

  当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开

<constant name="struts.configuration.xml.reload" value="true"/>
  • 打印更详细的错误信息

  开发模式下使用,这样可以打印出更详细的错误信息

<constant name="struts.devMode" value="true" />
  • 默认的视图主题

<constant name="struts.ui.theme" value="simple" />
  • 是否支持动态方法调用

 该属性的默认值是true。如果需要关闭动态方法调用,则可设置该属性为 false

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

  在action配置中不使用通配符,不设置method方法,可以使用!method来进行method方法调用。

  • 上传文件的大小限制

<constant name="struts.multipart.maxSize" value=“10701096"/>

4.action配置中的默认值

  action的class值默认为struts-default包中配置的

<default-class-ref class="com.opensymphony.xwork2.ActionSupport" />

  method值默认为execute()方法,一个最简单的action可以这样

<action name="test"></action>

  它可以用来跳转到WEB-INF下的资源

<action name="test">
<result name="success">/WEB-INF/index.jsp</result>
</action>

struts中的常量,action配置中的默认值的更多相关文章

  1. 03. struts2中Action配置的各项默认值

    Action中的各项默认值 Action各项配置 <action name="helloworld" class="com.liuyong666.action.He ...

  2. Struts2的Action配置的各项默认值

    1 如果没有为action指定class,默认是ActionSupport 2 如果没有为action指定method,默认执行action中的execute()方法 3 如果没有指定result的n ...

  3. struts2视频学习笔记 03-06(Struts 2配置文件无提示问题,Action配置中的各项默认值,各种转发类型)

    课时3 解决Struts 2配置文件无提示问题(eclipse):window→preference→XML→XML Catlog

  4. spring 配置文件属性设置默认值以及读取环境变量值

    在 Spring 中为 javabean 注入属性文件中的属性值一般人都知道的,可以通过 org.springframework.beans.factory.config.PropertyPlaceh ...

  5. JAVA中的常量定义在class中还是interface中比较合理?

    本文地址:http://blog.csdn.net/sushengmiyan 本文作者:苏生米沿 java中使用的常量可以集中定义在一个文件中. 有两种解决方案: 1.在Constants.java中 ...

  6. odoo配置界面设置字段默认值

    转自国外牛人博客:http://ludwiktrammer.github.io/odoo/custom-settings-odoo.html Defining custom settings in O ...

  7. php给配置数组赋默认值奇

    extract($this->_config['connection'] + array( 'database' => '', 'hostname' => '', 'username ...

  8. struts2中常用constant命令配置

    struts.objectFactory这个属性用 于说明Struts2的 对象池创建工厂,Struts2也有自己的对象池,就像Spring那样,在配置文件中你可以引用对象池中的对象,你可以借助于Sp ...

  9. JS中的常量

    javascript中没有常量,可以通过创建只能取值不能赋值的私有变量来模仿常量. 创建取值器: var Class = function(){ var NUM = 5;   //  在运行时NUM值 ...

随机推荐

  1. Eclipse NDK 配置

    一.关于NDK:NDK全称:Native Development Kit. 1.NDK是一系列工具的集合. NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java ...

  2. JavaScript中Trim(),TrimStart(),TrimEnd()的实现

    //去除字符串头尾空格或指定字符 String.prototype.Trim= function(c) { if(c==null||c=="") { var str= this.r ...

  3. [转]C++中引用(&)的用法和应用实例

    from: here 对于习惯使用C进行开发的朋友们,在看到c++中出现的&符号,可能会犯迷糊,因为在C语言中这个符号表示了取地址符,但是在C++中它却有着不同的用途,掌握C++的&符 ...

  4. Spring MVC 之请求处理方法可接收参数(三)

    请求处理方法可接收参数 今天学习了前三个方法. 1.作用域对象2.单个表单提交数据3.表单数据封装的Bean对象 首先创建一个实体对象. package com.cy.springannotation ...

  5. Python语言及其应用 - 知识点遍历

    遍历python语法     2.基本元素:数字.字符串和变量 2.1 python有哪些基本类型? 布尔型(True, False),整型(42,100000),浮点型(3.14159,1.0e8) ...

  6. Scala学习之: Hello Word!

    scala 是一门纯粹的面向对象的语言 , 结合了python和java的优点. 它和java的集合度很高,是一个在JVM上运行的非java语言(PS 其实scala也是用java编写的) 安装sca ...

  7. OC self和super

    在OC中 1 self是一个指针,在每一个方法中都有一个self指针 2 self可以出现在所有的方法中(对象方法和类方法),不能在函数中 3 self指向调用者.(谁调用它就指向谁) 4 可以使用s ...

  8. Visual Studio 2012出现“无法访问T-SQL组件和安装了不兼容伯 DacFx版本”的解决办法

    参考:Visual Studio 2012出现“无法访问T-SQL组件和安装了不兼容伯 DacFx版本”的解决办法 Vs2012的下载地址: https://msdn.microsoft.com/en ...

  9. XML中的非法字符转化成实体

    问题 如果XML有非法字符比如 "·",或者HTML标签<br/>.XML在解析的过程中就会出错.就无法正常解析,或者把xml反射成实体. 有些字符,像(<)这类 ...

  10. Struts2 用 s:if test 判断String类型的对象属性值和单字符是否相等的问题

    Struts2 用 s:if test 判断String类型的对象属性值和单字符是否相等的问题   首先,这里所指的单字符形如:Y,男. 有两种做法: a. <s:if test='news.s ...