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 下载本章 ...
随机推荐
- 人多qiu是好
小组第一次冲刺 团队任务描述: 在确定完分组,并对于敏捷开发做了相应的了解之后,我们团队开始了第一次的冲刺.对于我们团队的第一次的Scrum冲刺,我们团队开展了团队会议.首先,我们明确了我们的目标,对 ...
- 作为软件技术人员建立自己的git账户并保存资料的重要性
日常生活中,当修改并保存了一个文件,所得到的就是此文件的最新版本,假若今后因某一问题需要用到原来文件,可是很多情况下,这种修改是不可逆的.你修改完之后,无法回到你修改前的样子.为了避免这种情况,有的人 ...
- python:进程操作
一.多进程应用 import socket from multiprocessing import Process def talk(conn): conn.send(b'connected') re ...
- 战神CPU计算机硬件组装
今天本来更新DP常见优化的,但是下午土木学院吴书记找我组装电脑,晚上A题后,临时有一些事情,没来得及整理. 这里分享一下战神CPU(死垃圾)的组装. 一顿操作猛如虎,很艰难的装好机子了,发现吴书记被坑 ...
- [18/11/22] 将点分十进制的IP地址化成二进制输出
#include <stdio.h> void binary(int d){ ,j,n,b[]={}; ){ n=d%; d=d/; b[i++]=n; //不停的除2,余数保存在b[8] ...
- idea原生ajax数据处理(增删改查)
项目名称:Bookstore UI界面 项目文件 操作: jsp代码 <%@ page import="dao.BookDAO" %> <%@ page impo ...
- iis 中经典和集成模式对应webconfig节点
经典对应<system.web> 集成对应<system.webserver>
- PS快捷键和常用小知识
1.快捷键: ctrl+引号 隐藏参考线 ctrl+冒号 隐藏网格线 ctrl+alt 复制选中区域 ctrl+alt+向下箭头 针对单行和单列选框复制移动 ctrl+shift+i 反向选择区域 c ...
- WebStorm中Node.js项目配置教程——项目设置
上一章讲解了Node.js项目在WebStorm中的两种创建方式,当完成Node.js项目创建以后,剩下的就是涉及配置设置工作. 为了确保Node.js全局和Node.js核心模块的代码完成功能,打开 ...
- .NET中Ajax跨越访问
说明:我们知道Ajax是不能进行跨域请求的,我们是可以设置我们的项目让Ajax支持跨域访问. 跨域: aa.xxx.com 中用ajax请求 bb.ccc.com中的数据成为跨域. 找了一些文章看了 ...