**Struts2配置常量(重点掌握怎么编写常量,了解一些常见的常量)**1.可以在Struts2框架中的哪些配置文件中配置常量?* struts.xml(必须要掌握,开发中基本上就在该配置文件中编写常量)* <constant name="key" value="value"></constant>* web.xml* 在StrutsPrepareAndExecuteFilter配置文件中配置初始化参数* 注意:后加载的配置的文件的常量会覆盖之前加载的常量!!!!2.需要大家了解的常量* struts.i18n.encoding=UTF-8         -- 指定默认编码集,作用于HttpServletRequest的setCharacterEncoding方法 * struts.action.extension=action,,     -- 该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts2处理。如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开* struts.serve.static.browserCache=true        -- 设置浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶段最好关闭 * struts.configuration.xml.reload=false        -- 当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开 * struts.devMode = false                  -- 开发模式下使用,这样可以打印出更详细的错误信息 ----------**指定多个struts的配置文件(了解)**1.在大部分应用里,随着应用规模的增加,系统中Action的数量也会大量增加,导致struts.xml配置文件变得非常臃肿。为了避免struts.xml文件过于庞大、臃肿,提高struts.xml文件的可读性,我们可以将一个struts.xml配置文件分解成多个配置文件,然后在struts.xml文件中包含其他配置文件。2.可以在<package>标签中,使用<include>标签来引入其他的struts_xx.xml的配置文件。例如:<struts><include file="struts-part1.xml"/><include file="struts-part2.xml"/></struts>3.注意注意注意(重要的事情说三遍):<include file="cn/itcast/demo2/struts-part1.xml"/>----------**Action类的三种写法(重点)**1.配置文件学习完成,下面的重点是Action类的三种写法* Action类就是一个POJO类* 什么是POJO类,POJO(Plain Ordinary Java Object)简单的Java对象.简单记:没有继承某个类,没有实现接口,就是POJO的类。* Action类可以实现Action接口* Action接口中定义了5个常量,5个常量的值对应的是5个逻辑视图跳转页面(跳转的页面还是需要自己来配置),还定义了一个方法,execute方法。* 大家需要掌握5个逻辑视图的常量* SUCCESS      -- 成功.* INPUT           -- 用于数据表单校验.如果校验失败,跳转INPUT视图.* LOGIN            -- 登录.* ERROR           -- 错误.* NONE            -- 页面不转向.* Action类可以去继承ActionSupport类(开发中这种方式使用最多)。* 对请求参数进行校验* 设置错误信息* 读取国际化信息2.下面给大家使用代码来演示这三种方式3.真正在开发中,一般的情况下都是采用第三种方式

struts.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.action.extension" value="do,,"></constant><include file="demo1/struts_demo1.xml"></include><include file="demo2/struts_demo2.xml"></include></struts>

struts_demo2.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><package name="demo2" extends="struts-default" namespace="/"><action name="demoAction1" class="demo2.DemoAction1"></action><action name="demoAction2" class="demo2.DemoAction2"></action><action name="demoAction3" class="demo2.DemoAction3"></action></package></struts>

Action:

package demo2;
/*** 就是POJO类* @author mjl**/
public class DemoAction1 {public String execute(){System.out.println("DemoAction1就是POJO类");return null;}
}package demo2;import com.opensymphony.xwork2.Action;
/*** 实现Action接口* @author mjl**/
public class DemoAction2 implements Action{public String execute() throws Exception {System.out.println("DemoAction2实现了Action接口");// ==return null 页面不跳转的return NONE;}}package demo2;import com.opensymphony.xwork2.ActionSupport;
/*** 继承ActionSupport类* @author mjl**/
public class DemoAction3 extends ActionSupport{public String execute() throws Exception {System.out.println("DemoAction3继承了了ActionSupport类");return NONE;}
}

  

  

  

  

转载于:https://www.cnblogs.com/syj1993/p/8508029.html

3.struts2中Action的三种写法相关推荐

  1. struts2开发action 的三种方法以及通配符、路径匹配原则、常量

    struts2开发action 的三种方法 1.继承ActionSupport public class UserAction extends ActionSupport {// Action中业务处 ...

  2. java中synchronized的三种写法详解

    预备知识 首先,我们得知道在java中存在三种变量: 实例变量 ==> 存在于堆中 静态变量 ==> 存在于方法区中 局部变量 ==> 存在于栈中 然后,我们得明白,合适会发生高并发 ...

  3. vue中template的三种写法

    第一种(字符串模板写法):直接写在vue构造器里,这种写法比较直观,适用于html代码不多的场景,但是如果模板里html代码太多,不便于维护,不建议这么写. 第二种:直接写在template标签里,这 ...

  4. 实例分析SQL中除法的三种写法

    首先请看 http://topic.csdn.net/u/20070821/15/8a2dac05-51b8-4eb1-b41d-4fbe8a232c85.html 帖中从实际问题出发,讨论SQL语句 ...

  5. javascript函数的三种写法

    在JS中函数的三种写法 [0401] 在js中函数有三种写法,这里我简单列举一下. 第一种: 第二种: 第三种: 对于以上三种函数的调用方法,这里可以简单的理解一下,第一种是最常见的函数写法,第三种是 ...

  6. Struts2中action接收参数的三种方法及ModelDriven跟Preparable接口结合JAVA反射机制的灵活用法...

    Struts2中action接收参数的三种方法及ModelDriven跟Preparable接口结合JAVA反射机制的灵活用法 www.MyException.Cn   发布于:2012-09-15 ...

  7. vue中,scss样式的三种写法——当前页面直接定义、@import引入样式、main.js引入公共样式 deep和important的写法

    vue中,scss样式的三种写法--当前页面直接定义.@import引入样式.main.js引入公共样式 & deep和important的写法 1.安装scss # 安装node-sass ...

  8. Struts2中Action接收参数

    Struts2中Action接收参数的方法主要有以下三种: Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数:     a.定义:在Action类中定义属 ...

  9. java登录中用户类型分类_基于用户登陆的struts2中action的分类详解

    在struts2中action的分类有:继承 ActionSupport 实现 Action,模型驱动(ModelDriven)的 Action,多方法的 Action三种方式. 1.继承 Actio ...

  10. Struts2中action接受参数方法

    Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数:    a.定义:在Action类中定义属性,创建get和set方法:    b.接收:通过属性接收参数 ...

最新文章

  1. 删除顺序表中所有的的重复数据
  2. 二叉树 2.0 -- 非递归遍历
  3. java开发环境变量配置-JDK11-(win10),重启之后环境变量配置失效的解决办法
  4. 洛谷 P2359 三素数数
  5. php js 异步上传图片,javascript实现异步图片上传方法实例
  6. 局部特征用于图像检索 Aggregating local features for Image Retrieval
  7. spring boot 使用swagger
  8. 硬盘突然提示没有初始化_测试流程_507283-001 硬盘 HP SAS
  9. mysql数值比中文检索快_MySQL 千万 级数据量根据(索引)优化 查询 速度
  10. 新版python安装包(直接提取安装)
  11. 旧式电话机的高压振铃电路图
  12. Shiro-Principal
  13. 离散数学 (II) 习题 3
  14. git pul出错_如何使用Git出错-以及如何做。
  15. 力扣刷题全局变量WA,局部变量AC的问题
  16. Qt5官方demo解析集34——Concentric Circles Example
  17. SparkSQL_Dataset和DataFrame简介
  18. oracle 中YYYY-MM-DD HH24:MI:SS的使用 和 HH24:MM:SS
  19. 什么是Activity,详细介绍Activity
  20. 如何增加高质量外链,如何获取外链平台

热门文章

  1. 小米android版本升级包下载,小米11 Android 12 Beta 1更新包
  2. epoch,batch_size,iteration,batch_idx什么意思
  3. Markdown制作表格
  4. 微信小程序教程笔记7
  5. 遥感数据集_最新高光谱遥感数据集
  6. 卷积的定义,知乎上有个很有名的段子:
  7. 营山天气预报软件测试,营山天气预报15天
  8. mysql 命令查看sql文件大小_用SQL命令查看Mysql数据库大小
  9. 以太坊 ERC-20 ERC-721 ERC-1155区别对比
  10. 比特币 POW 白皮书 区块篡改成功的概率计算详解