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. 使用Ant打包工具 基本介绍

    由于使用java,javac,jar等工具进行编译打包,即繁琐低效又容易出错,因此Ant出现了. Ant的出现就是专门为了打包编译java代码的,使用之前得稍微学一下.Ant的运行起来主要是依靠配置文 ...

  2. Android 监听键盘的弹起与收缩

    Android 监听键盘的弹起与收缩 由于android不存在该监听的API 所以需要自己去处理 先上代码 /* android:windowSoftInputMode="stateAlwa ...

  3. 本地存储 localStorage/sessionStorage/cookie

    cookie是个基础的东西.是服务器发送到客户端,存储在客户端的一小段数据.可以存储一些配置信息,客户标识信息等.用户下次访问这个网站时,会把上次网站发来的cookie一同发送回去.cookie保存在 ...

  4. HashMap循环遍历方式及其性能对比(zhuan)

    http://www.trinea.cn/android/hashmap-loop-performance/ ********************************************* ...

  5. spring-mvc 与 openid4java

    以GoogleOpenID 为例,试验了OAuth单点登录的用法: <dependency> <groupId>org.openid4java</groupId> ...

  6. MySQL之聚合

    EP:巧妙地过滤掉重复的日期 example:使用bit_or() bit_count()巧妙地过滤掉重复的日期: CREATE TABLE t1 ( year YEAR(4), month INT( ...

  7. python操作mongodb之六自定义类型存储

    from pymongo.mongo_client import MongoClient client=MongoClient('192.168.30.252',27017) client=drop_ ...

  8. zabbix实现原理及架构详解

    想要用好zabbix进行监控,那么我们首要需要了解下zabbix这个软件的实现原理及它的架构.建议多阅读官方文档. 一.总体上zabbix的整体架构如下图所示: 重要组件说明: 1)zabbix se ...

  9. (11)lambda表达式用法

    * lambda 简述    lambda只是一个表达式,函数体比def简单很多    lambda的主体是一个表达式,而不是一个代码块.仅仅能在lambda表达式中封装有限的逻辑进去.    lam ...

  10. mysql 初始密码 设置

    mysql root 密碼的設置方法 shell> mysql -u root mysql mysql> SET PASSWORD FOR root@localhost=PASSWORD( ...