Struts2中通配符的使用
1、准备工作
新建一个JavaWeb项目HelloWord,导入Struts2的.jar包,在Web.xml下配置Struts2的监听,在src下添加Struts2的配置文件struts.xml;将该项目部署到服务器(Tomcat)上,运行检查项目是否部署成功和其他错误!确定一切都正常后,接下来开始编写代码!
2、第一种配置方式
新建一包:com.cqxs.action
新建一个Action类:UserAction,代码如下:
public class UserAction extends ActionSupport{
public String add(){
return SUCCESS;//继承自ActionSupport,这里可直接使用它的参数SUCCESS
}
}
编写配置文件:
<action name="user" class="com.cqxs.action.UserAction" method="add">
<result>/User_add_success.jsp</result>
</action>
index.jsp页面:
< a href=”user!add”>添加帐号</a>
注意:由上可知,如果此时我们的UserAction里面有100个方法,那么很自然的我们将会在sturts.xml中配置100个<action name=”” class=”” method=””/>的配置,大量的配置会花去我们很多的时间,所以能否简化该配置呢?
3、第二种配置方式:
此时仍然采用上面的包和Action类,配置文件如下:
<action name="User*" class="com.cqxs.action.UserAction" method="*">
<result>/{1}success.jsp</result>
</action>
注意:仔细查看该配置文件,你是否发现(*表示所有),此时如果UserAction里面有100个方法,那么我们只需要配置一次就足够了,所以相对于第一种配置方式,在一个大型的项目开发中,我们理所当然的节约了大量的时间,但此时新的问题又出现了,如果我们有100个甚至更多的Action类,那么麻烦又来了,我们仍然得花大量的时间在配置上。
4、第三种配置方式:
此时仍然采用上面的包和Action类,配置如下:
<action name="*_*" class="com.cqxs.action.{1}Action" method="{2}"> <result>/{1}_{2}_success.jsp</result>
</action>
注意:此时我们再来看该配置文件,是否解决了我们上面两种配置的弊端呢?答案是肯定的啦!此时如果我们再新建一个PersonAction,里面仍然有大量的方法,代码如下:
package com.cqxs.action;
import com.opensymphony.xwork2.ActionSupport;
public class PersonAction extends ActionSupport{
public String add(){
return SUCCESS;
}
public String delete(){
return SUCCESS;
}
public String update(){
return SUCCESS;
}
public String find(){
return SUCCESS;
}
}
注意:此时我们发现,我们的配置文件却没有做任何的改动,仍然采用的是当前的配置文件。
注意:故在项目开发之前,约定规则的好与否,对项目开发的效率有很大的影响,即约定优于配置。配置文件不在根目录下可以类比!
若转载请注明出处!若有疑问,请回复交流!
Struts2中通配符的使用相关推荐
- Struts2中的action类
Struts2中的action类 action类在Struts2中承担了Model(模型)的角色,主要用于处理业务逻辑并存放HTTP请求处理过程中各个变量的值. 在Struts2里面,Action充当 ...
- Struts2中的链接标签
摘自:http://www.java3z.com/cwbwebhome/article/article2/21001.html 为了使从一个页面中链接一个动态数据变得简单,Struts2框架提供了一系 ...
- Struts2中的链接标签 s:url和s:a
2011-08-03 11:05:56| 分类:java web | 标签: |字号大中小 订阅 普通链接 Web程序中最普通的应用是链接到其他页面,下面看Welcome.jsp. <%@ ...
- Struts2中OGNL,valueStack,stackContext的学习
http://jwx0925.iteye.com/blog/630335 [/color]学习Struts2,一直不明白表单中的值是怎么传给Action的,上网查了些资料,基本了解了!下面基本是从几个 ...
- struts2中的method
为什么80%的码农都做不了架构师?>>> 现对struts2中的method进行总结: 1.当不使用通配符和DMI时,method代表当前action中的方法名 2.当使用DM ...
- Struts2笔记——通配符和动态方法调用
通配符映射 * 一个 Web应用可能有成百上千个 action 声明. 可以利用 struts提供的通配符映射机制把多个彼此相似的映射关系简化为一个映射关系 * 通配符映射规则 > 若 ...
- Struts2中XXX.Action类中方法的访问(三种方式)
第一种:使用action标签的method属性(常规方法) Action类: package cn.tedu.web;import org.springframework.context.annota ...
- Struts2中Action接收参数
Struts2中Action接收参数的方法主要有以下三种: Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数: a.定义:在Action类中定义属 ...
- struts2中 ServletActionContext与ActionContext区别
1. ActionContext 在Struts2开发中,除了将请求参数自动设置到Action的字段中,我们往往也需要在Action里直接获取请求(Request)或会话(Session)的一些信息, ...
最新文章
- 百度造车和RoboTaxi利好自动驾驶?不,利好茅台
- VS中的C#项目怎样引入另一个项目
- 修改数据库mysql字符编码为UTF8
- 如何通过OpenFace实现人脸识别框架
- VHDL电子密码锁设计
- GMapbook中文版上线
- margin和padding的区别
- Java线程volatile(二)
- 报错:Unchecked runtime.lastError:Could not establish connection. Receiving end does not exist.
- leetcode·动态规划
- ubuntu18.10 编译安装caffe gpu版本
- Jmeter编码格式
- 金蝶K3工资模块个税计算公式
- 声音均衡器怎么调好听_酷狗均衡器怎么调好听 - 卡饭网
- c语言笔试程序改错题,C语言笔试--程序改错题.doc
- 不用插件,如何将tif格式的影像精准导入到CAD中?
- VMware安装及配置静态Ip、域名、免密(centos7)
- [OHIF-Viewers]医疗数字阅片-医学影像-cornerstone-core-Cornerstone.js提供了一个完整的基于Web的医学成像平台。...
- 去除Opera与迅雷的关联
- 【C51】基于C51单片机的LCD电子时钟设计(含代码,电路图,拿去直接用)
热门文章
- 1月国内操作系统市场:Windows XP份额高达60.84%
- ExecutorService与Executors例子的简单剖析(转)
- 北斗时钟在国内各行业的应用前景
- 能和LoadRunner匹敌的VS2010/2012Web负载测试
- 地址本在不同手机间的迁移
- 在SQL Server中调用.NET程序集
- 像童话一样学习OSPF原理
- 汗!雅虎中国个人空间
- 正确生成浮点型的方法,解决sqlachemy Float浮点型的坑,生成float类型时,长度和精度均为0,导致查询不到结果!...
- Linq初级班 Linq To XML体验(基础篇)