动态方法就是一个Action对应多个请求,减少Action的数量

1、指定method属性
<action name="addAction" method="add" class="com.venn.action.HelloWorldAction"> <result>/jsp/add.jsp</result> </action>
2、感叹号(!)方式(不推荐使用)
<action name="HelloWorld" class="com.venn.action.HelloWorldAction"> <result>/jsp/test.jsp</result> <result name="add">/jsp/add.jsp</result> <result name="update">/jsp/update.jsp</result> </action>
需要在struts.xml中加入如下常量:
<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>(加在package标签外面)
调用不同方法使用:
访问execute方法: http://localhost:8080/TestStruts2/HelloWorld.action
访问update方法: http://localhost:8080/TestStruts2/HelloWorld!update.action
访问add方法 http://localhost:8080/TestStruts2/HelloWorld!add.action
3、通配符方式
Action配置:
<action name="HelloWorld_*" method="{1}" class="com.venn.action.HelloWorldAction">
<result>/jsp/test.jsp</result>
<result name="add">/jsp/add.jsp</result>
<result name="update">/jsp/update.jsp</result>
</action>
访问execute方法: http://localhost:8080/TestStruts2/HelloWorld.action 或http://localhost:8080/TestStruts2/HelloWorld_execute.action
访问add方法 http://localhost:8080/TestStruts2/HelloWorld_add.action
注:为简化struts.xml配置,可以将action配置为:
<action name="*_*_*" method="{2}" class="com.venn.{3}.{1}Action">
<result>/jsp/test.jsp</result>
<result name="add">/jsp/{2}.jsp</result>
<result name="update">/jsp/{2}.jsp</result>
</action>
第一个*对应action,第二个*对应method
注意result标签的name属性不可以使用通配符
java类
public class HelloWorldAction extends ActionSupport {
@Override
public String execute() throws Exception {
System.out.println("execute method");
return "success";
}
public String add(){
System.err.println("add method");
return "add";
}
public String update(){
System.out.println("update method");
return "update";
}
}
总结
以上就是本文关于详解Struts2动态方法调用的全部内容,希望对大家有所帮助。感兴趣的朋友可以参阅:struts2开发流程及详细配置 Struts2修改上传文件大小限制方法解析等,有什么问题可以随时留言,小编会尽快回复大家。
# struts2
# 动态方法调用
# action
# Struts2 通过ognl表达式实现投影
# Struts2 OGNL表达式实例详解
# Struts2修改上传文件大小限制方法解析
# AjaxFileUpload+Struts2实现多文件上传功能
# struts2开发流程及详细配置
# struts+spring+hibernate三个框架的整合
# Struts2获取参数的三种方法总结
# 有什么
# 第一个
# 多个
# 不可以
# 推荐使用
# 感兴趣
# 第二个
# 可以随时
# 小编
# 加在
# 上传
# result
# gt
# enable
# struts
# jsp
# constant
# xml
# update
# HelloWorld
相关文章:
如何在香港服务器上快速搭建免备案网站?
湖北网站制作公司有哪些,湖北清能集团官网?
,网站推广常用方法?
如何用花生壳三步快速搭建专属网站?
深圳网站制作的公司有哪些,dido官方网站?
定制建站流程步骤详解:一站式方案设计与开发指南
无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
PHP 500报错的快速解决方法
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
临沂网站制作公司有哪些,临沂第四中学官网?
实现虚拟支付需哪些建站技术支撑?
C++时间戳转换成日期时间的步骤和示例代码
北京建设网站制作公司,北京古代建筑博物馆预约官网?
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
如何用y主机助手快速搭建网站?
C++如何将C风格字符串(char*)转换为std::string?(代码示例)
深入理解Android中的xmlns:tools属性
如何登录建站主机?访问步骤全解析
javascript中对象的定义、使用以及对象和原型链操作小结
零基础网站服务器架设实战:轻量应用与域名解析配置指南
表情包在线制作网站免费,表情包怎么弄?
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
建站VPS能否同时实现高效与安全翻墙?
PHP正则匹配日期和时间(时间戳转换)的实例代码
深圳网站制作培训,深圳哪些招聘网站比较好?
北京网站制作的公司有哪些,北京白云观官方网站?
建站之星后台搭建步骤解析:模板选择与产品管理实操指南
建站之星后台管理系统如何操作?
个人网站制作流程图片大全,个人网站如何注销?
Python多线程使用规范_线程安全解析【教程】
建站之星代理如何获取技术支持?
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
建站主机选购指南与交易推荐:核心配置解析
动图在线制作网站有哪些,滑动动图图集怎么做?
单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?
北京的网站制作公司有哪些,哪个视频网站最好?
C++如何编写函数模板?(泛型编程入门)
香港服务器租用每月最低只需15元?
北京专业网站制作设计师招聘,北京白云观官方网站?
想学网站制作怎么学,建立一个网站要花费多少?
设计网站制作公司有哪些,制作网页教程?
Swift中swift中的switch 语句
招商网站制作流程,网站招商广告语?
建站之星如何通过成品分离优化网站效率?
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
建站中国官网:模板定制+SEO优化+建站流程一站式指南
长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?
建站之星备案是否影响网站上线时间?
*请认真填写需求信息,我们会在24小时内与您取得联系。