当前位置: 首页 > news >正文

【Struts2学习笔记(6)】Action动态方法调用


(1)在Struts1中我们使用动态方法调用的方法是使用继承DispatchAction类:


(2)在Struts2中主要有以下几种方法实现这个功能:


1.第一种:(目前已经不推荐使用)

如果Action中存在多个方法时,我们可以使用!+方法名调用指定方法。如下:

public class HelloWorldAction{
	private String message;
	....
	public String execute() throws Exception{
		this.message = "我的第一个struts2应用";
		return "success";
	}
	
	public String other() throws Exception{
		this.message = "第二个方法";
		return "success";
	}
}

假设访问上面action的URL路径为: /struts/test/helloworld.action
要访问action的other() 方法,我们可以这样调用:
/struts/test/helloworld!other.action


2.如果不想使用动态方法调用,我们可以通过常量struts.enable.DynamicMethodInvocation关闭动态方法调用。

<constant name="struts.enable.DynamicMethodInvocation" value="false"/>

3.使用通配符定义action(目前推荐使用的)

<package name="lc" namespace="/test" extends="struts-default">
	<action name="helloworld_*" class="cn.itcast.action.HelloWorldAction" method="{1}"> <!--  重点在这里 -->
		<result name="success">/WEB-INF/page/hello.jsp</result>
	</action>
</package>

public class HelloWorldAction{
	private String message;
	....
	public String execute() throws Exception{
		this.message = "我的第一个struts2应用";
		return "success";
	}
	
	public String other() throws Exception{
		this.message = "第二个方法";
		return "success";
	}
}


要访问other()方法,可以通过这样的URL访问:/test/helloworld_other.action


相关文章:

  • 【LINUX】主进程、父进程、子进程、守护进程的概念
  • 【Struts2学习笔记(7)】类型转换器的两种方法
  • Swift - 使用MapKit显示地图,并在地图上做标记
  • 【Struts2学习笔记(8)】访问或添加request/session/application属性获取HttpServletRequest / HttpSession / ServletContex
  • ehcache.xml详解
  • 【Struts2学习笔记(9)】单文件上传和多文件上传
  • 如何更改Java默认的花括号对齐方式
  • GET和POST区别和用法
  • 【Struts2学习笔记(10)】自定义拦截器管理权限访问
  • 大型网站提速方案
  • 【Struts2学习笔记(11)】对action的输入校验和XML配置方式实现对action的所有方法进行输入校验
  • 分享一百多套开发视频教程的下载地址
  • java中Object类 源代码详解
  • 史上最全Java学习视频下载地址分享
  • MySql 查询一周内最近7天记录
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • Angularjs之国际化
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • EventListener原理
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • leetcode98. Validate Binary Search Tree
  • node 版本过低
  • php ci框架整合银盛支付
  • Puppeteer:浏览器控制器
  • Vue2.0 实现互斥
  • 聊聊hikari连接池的leakDetectionThreshold
  • 探索 JS 中的模块化
  • 微信小程序设置上一页数据
  • 小程序 setData 学问多
  • 小而合理的前端理论:rscss和rsjs
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 正则与JS中的正则
  • 积累各种好的链接
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • #Lua:Lua调用C++生成的DLL库
  • #vue3 实现前端下载excel文件模板功能
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • $.ajax()
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (02)vite环境变量配置
  • (06)Hive——正则表达式
  • (floyd+补集) poj 3275
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转)jdk与jre的区别
  • (转)创业的注意事项
  • (转)德国人的记事本
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)