详解Struts2动态方法调用
发布时间 - 2026-01-11 03:26:47 点击率:次 动态方法就是一个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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
在Oracle关闭情况下如何修改spfile的参数
Laravel怎么在Controller之外的地方验证数据
Android自定义listview布局实现上拉加载下拉刷新功能
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
音响网站制作视频教程,隆霸音响官方网站?
中山网站制作网页,中山新生登记系统登记流程?
EditPlus中的正则表达式 实战(1)
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
如何在景安云服务器上绑定域名并配置虚拟主机?
Laravel路由怎么定义_Laravel核心路由系统完全入门指南
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】
jquery插件bootstrapValidator表单验证详解
Laravel怎么调用外部API_Laravel Http Client客户端使用
Laravel如何创建自定义中间件?(Middleware代码示例)
详解jQuery停止动画——stop()方法的使用
香港服务器选型指南:免备案配置与高效建站方案解析
如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)
php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】
iOS UIView常见属性方法小结
Android滚轮选择时间控件使用详解
JavaScript实现Fly Bird小游戏
在线制作视频的网站有哪些,电脑如何制作视频短片?
如何在万网ECS上快速搭建专属网站?
Laravel模型关联查询教程_Laravel Eloquent一对多关联写法
创业网站制作流程,创业网站可靠吗?
Laravel Octane如何提升性能_使用Laravel Octane加速你的应用
如何在IIS中新建站点并配置端口与物理路径?
Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
Android仿QQ列表左滑删除操作
Laravel如何实现事件和监听器?(Event & Listener实战)
如何在宝塔面板中创建新站点?
如何快速搭建高效香港服务器网站?
公司网站制作价格怎么算,公司办个官网需要多少钱?
Laravel如何创建自定义Facades?(详细步骤)
Laravel如何操作JSON类型的数据库字段?(Eloquent示例)
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
微信小程序 canvas开发实例及注意事项
Win11怎么设置默认图片查看器_Windows11照片应用关联设置
JS去除重复并统计数量的实现方法
Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧
Laravel Session怎么存储_Laravel Session驱动配置详解
JS碰撞运动实现方法详解
Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用
如何在香港免费服务器上快速搭建网站?
*服务器网站为何频现安全漏洞?
Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理
如何快速搭建支持数据库操作的智能建站平台?

