struts2官方 中文教程 系列十三:利用通配符选择方法
介绍
在本教程中,我们将介绍如何在struts.xml中配置action节点以达到仅使用一个action节点将几个不同的url关联到特定action类的特定方法。这样做的目的是减少struts.xml文件中action节点的数量
本帖地址:struts2官方 中文教程 系列十三:利用通配符选择方法 即 http://www.cnblogs.com/linghaoxinpian/p/7047295.html
不使用通配符
新建一个PersonAction类,类里包含create、edit、delete方法,那么,相应的在struts2.xml文件中,我们要添加如下URL映射
<action name="createPerson" class="action.PersonAction" method="create">
<result name="input">input.jsp</result>
<result name="success">view.jsp</result>
</action> <action name="editPerson" class="action.PersonAction" method="edit">
<result name="input">input.jsp</result>
<result name="success">view.jsp</result>
</action>
可以看出这是多么繁琐的操作。使用通配符方法,使Struts 2框架能够动态地选择在运行时调用正确方法,您只需使用通配符 * ,在您的名称值和一个属性值放一个占位符 {1} 。例如:
<action name="*Person" class="action.PersonAction" method="{1}">
<result name="success">view.jsp</result>
<result name="input">input.jsp</result>
</action>
该节点可以匹配任何以Person为后缀的URL,同时要执行的方法为 * 的内容,这与正则表达式是相同的,另外,第一个 * 由{1}表示,第二个 * 由{2}表示........如下URL皆可匹配:
http://localhost:8080/struts_basic/createPerson.action
http://localhost:8080/struts_basic/editPerson
http://localhost:8080/struts_basic/indexPerson
动态方法调用
本章的 “通配符动态方法选择” 不应与 “动态方法调用” 混淆,Struts 2的文档解释了这种技术(它使用了 !),并建议不要使用“动态方法调用”技术,因为安全性和其他与此技术在内部实现的原因或相关的原因。Struts 2文档也建议通过在struts配置文件中设置struts.enable.DynamicMethodInvocation= FALSE 来关闭动态方法调用。
总结
通过使用上面介绍的通配符方法选择技术,可以显著减少在Struts 2 XML配置文件中需要编写和管理的操作映射节点的数量。
struts2官方 中文教程 系列十三:利用通配符选择方法的更多相关文章
- struts2官方 中文教程 系列十四:主题Theme
介绍 当您使用一个Struts 2标签时,例如 <s:select ..../> 在您的web页面中,Struts 2框架会生成HTML,它会显示外观并控制select控件的布局.样式和 ...
- struts2官方 中文教程 系列十二:控制标签
介绍 struts2有一些控制语句的标签,本教程中我们将讨论如何使用 if 和iterator 标签.更多的控制标签可以参见 tags reference. 到此我们新建一个struts2 web 项 ...
- struts2官方 中文教程 系列十一:使用XML进行表单验证
在本教程中,我们将讨论如何使用Struts 2的XML验证方法来验证表单字段中用户的输入.在前面的教程中,我们讨论了在Action类中使用validate方法验证用户的输入.使用单独的XML验证文件让 ...
- struts2官方 中文教程 系列十:Form标签
介绍 在本教程中,我们将探索其他Struts 2表单控件.在前面的教程中,我们介绍了如何使用Struts 2表单(处理表单.表单验证和消息资源文件),我们介绍了如何使用Struts 2 head, f ...
- struts2官方 中文教程 系列九:Debugging Struts
介绍 在Struts 2 web应用程序的开发过程中,您可能希望查看由Struts 2框架管理的信息.本教程将介绍两种工具,您可以使用它们来查看.一个工具是Struts 2的配置插件,另一个是调试拦截 ...
- struts2官方 中文教程 系列八:异常处理
在本教程中,我们将探讨如何启用Struts 2框架处理web应用程序生成的任何未捕获的异常.Struts 2提供了健壮的异常处理,包括能够自动记录任何未捕获的异常,并将用户重定向到错误web页面. 贴 ...
- struts2官方 中文教程 系列七:消息资源文件
介绍 在本教程中,我们将探索使用Struts 2消息资源功能(也称为 resource bundles 资源绑定).消息资源提供了一种简单的方法,可以将文本放在一个视图页面中,通过应用程序,创建表单字 ...
- struts2官方 中文教程 系列六:表单验证
先贴个本帖的地址,以免被爬:struts2教程 官方系列六:表单验证 即 http://www.cnblogs.com/linghaoxinpian/p/6906720.html 下载本章节代码 介 ...
- struts2官方 中文教程 系列五:处理表单
先贴个本帖的地址,免得其它网站被爬去了struts2教程 官方系列五:处理表单 即 http://www.cnblogs.com/linghaoxinpian/p/6906298.html 下载本章 ...
随机推荐
- 出租WiFi到底靠不靠谱?
创业是一种心态,也是不断的探索,他融入我们的生活,从日常中积累,从小微处启航. 一.背景交代 最近在换工作,本周搬到新租的单身公寓,空间不大,倒是干净整洁.委托租房中介帮忙开通宽带,告知是电信网最低开 ...
- JVM文章学习
JVM 文章 Java虚拟机学习 - 体系结构 内存模型http://blog.csdn.net/java2000_wl/article/details/8009362 Java虚拟机学习 - 对象 ...
- SPOJ MUSKET - Musketeers
黑书P117页. 要是不看解析,确实不要算和定义状态. 把环看成链,是指把这个1234512345,写两边,然后怎么表示一个人是否胜利了呢?其实就是其他人全部死光(好像等于没说): 考虑最后一次杀人, ...
- LocalDB的奇怪问题
属性 MasterDBPath 不可用于 信息“Microsoft.SqlServer.Management.Smo.Information”.该对象可能没有此属性,也可能是访问权限不足而无法检索. ...
- 如何学好Spring
要学好Spring,首先要明确Spring是个什么东西,能帮我们做些什么事情,知道了这些然后做个简单的例子,这样就基本知道怎么使用Spring了.Spring核心是IoC容器,所以一定要透彻理解什么是 ...
- 【洛谷P2470】[SCOI2007]压缩
压缩 #include<iostream> #include<cstring> #include<cstdio> using namespace std; #def ...
- CodeForces - 598A Tricky Sum (数学,快速幂的运用)
传送门: http://codeforces.com/problemset/problem/598/A A. Tricky Sum time limit per test 1 second memor ...
- [Linux]文件浏览
1.使用file命令查看文件中数据的类型 [oracle@linuxforlijiaman Desktop]$ ls linux oracle.txt test.png [oracle@linuxfo ...
- 转载:/etc/security/limits.conf 控制文件描述符,进程数,栈大小
原文地址:http://ilikedo.iteye.com/blog/1554822 linux下安装Oracle 一般都会修改/etc/security/limits.conf这个文件,但是这里面的 ...
- Sass 基础(六)
join() 函数 join()函数是将两个列表连接合并成一个列表. >>join(10px 20px, 30px 40px) (10px 20px 20px 40px) >> ...