【SSH三大框架】Struts2基础第三篇:配置Action以及调用Action的三种方式

本文详细介绍了Struts2中Action的配置和调用方式,包括struts.xml中的包和命名空间设定,动态方法调用,指定method属性以及使用通配符配置method和class属性。强调了通配符配置的顺序规则,并通过实例解析了不同配置下的Action处理请求的逻辑。
摘要由CSDN通过智能技术生成

一、struts.xml中的包和命名空间

1、Struts2不支持为单独的Action设置命名空间,而是通过为包指定namespace属性来为包下面的所有Action指定共同的命名空间。

如果在配置<package>的时候没有指定namespace属性,则该包下的所有Action处于默认的包空间下

2、例如:

<package name="lee" extends="struts-default">
		<action name="login" class="org.crazyit.app.action.LoginAction">
			<!-- 定义三个逻辑视图和物理资源之间的映射 -->		
			<result name="input">/login.jsp</result>
			<result name="error">/error.jsp</result>
			<result name="success">/welcome.jsp</result>
		</action>
	</package>
对于这里的package,定义了name属性,未定义命名空间,则该Action处理的URL为:localhost:8080/项目名/login.action

<package name="lee" extends="struts-default" namespace="/book">
		<action name="login" class="org.crazyit.app.action.LoginAction">
			<!-- 定义三个逻辑视图和物理资源之间的映射 -->		
			<result name="input">/login.jsp</result>
			<result name="error">/error.jsp</result>
			<result name="success">/welcome.jsp</result>
		</action>
	</package>
对于这里的package,定义了namespace命名空间,则该Action处理的URL为:localhost:8080/项目名称/book/login.action

注意顺序:①如果请求为/book/login.action,系统首先会查找/book命名空间下的login.action,如果找不到,则会在默认的命名空间查找login.action

如果请求为/login.action,系统会在跟命名空间(”/“)查找名为login.action,如果找不到,就会转入默认的命名空间


二、使用动态方法调用Action

在一个登陆页面,包含有”登陆“和”注册“两个按钮,如果我们点击了”注册“,我们可以利用javascript来改变form表单的action


                
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值