博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【struts2】action中使用通配符
阅读量:7022 次
发布时间:2019-06-28

本文共 1156 字,大约阅读时间需要 3 分钟。

  在以前的学习中,<action>元素的配置,都是用明确的配置,其name、class等属性都是一个明确的值。其实Struts2还支持class属性和method属性使用来自name属性的通配符。

  1)接下来看看使用通配符的示例,如果我们使用以下<action>配置:

/s2impl/welcome.jsp

在上面的配置中:

       name属性的值中“*”代表长度不为0的任意字符串,因此,它可以响应的action只需要名称中间有一个下划线即可。比如页面可访问的action名称为:HelloWorld_create.action、HelloWorld _update.action等等。

       在name属性定义了通配符之后,class属性使用第一个通配符(使用{1}作为占位),method属性使用第二个通配符。

       如果使用HelloWorld_create.action作为访问的action名称的话,struts.xml中action名称为HelloWorld_create,第一个通配符匹配HelloWorld,第二个通配符匹配create。因此,由cn.javass.action.action.HelloWorldAction的create方法来响应。

  2)那么,对于<result>元素,能不能也使用<action>元素的name属性定义的通配符呢?答案是可以的,假如有如下的配置:

/${folder}/{4}.jsp

  3)在使用通配符的时候,也有可能不止一个使用通配符的<action>元素可能匹配这次URL的访问,看以下的配置文件:

/s2impl/welcome.jsp
/s2impl/welcome.jsp

  这时候,如果访问“/helloworld/HelloWorld_create.action”,Struts2首先会查找是否有精确匹配的<action>元素,这时候无论以上<action>元素以什么顺序出现,Struts2肯定会先找到并使用精确匹配的<action>元素。但是,如果没有精确匹配的<action>元素,则Struts2会找到第一个匹配的使用通配符的<action>元素来使用。

  通配符对于那些简单的CRUD的工程或软件原型来说,只要Action的包名、Action的类名、对应的方法名写的有规律的应用,能大大简化配置的工作。

  参考资料:

 

转载地址:http://ejbxl.baihongyu.com/

你可能感兴趣的文章
js实现继承方式
查看>>
单例模式 工厂模式
查看>>
使用Ext.grid.column.Column定义列
查看>>
程序员恶搞图片===爆笑中......娱乐一下.....
查看>>
关于WM_NCHITTEST消息(移动无标题对话框多个)
查看>>
配置管理小报100129:百兆和千兆网线
查看>>
Yii 2.0鉴权之RBAC(Yii2.0 Authorization By RBAC)
查看>>
理解矩阵
查看>>
Oracle~MyBatis~Java之Number长度对应的不同类型
查看>>
彻底理解ThreadLocal
查看>>
解决new org.jdom2.input.SAXBuilder报错
查看>>
对象导论
查看>>
AAA服务器--宽带网络接入服务器 报文和属性定义
查看>>
ionic环境搭建遇到启动android错误的解决办法
查看>>
关于安卓返回刷新的办法
查看>>
Nginx 安装配置
查看>>
大规模服务器设计与开发实践经验(阅读笔记)
查看>>
jquery validate 动态增加删除验证规则
查看>>
Postgresql分表与优化
查看>>
Java面试记录20151218
查看>>