struts2选择调用action中的某方法

方法1:
在struts.xml配置

<package name="product" namespace="/product" extends="struts-default">
<action name="list" class="web.action.ProductAction" method="list">
<result>/list.jsp</result>
</action>
<action name="add" class="web.action.ProductAction" method="add">
<result>/add.jsp</result>
</action>
</package>

method属性对应这action中的方法名

方法2:
超链接或提交表单时选择用执行的方法
struts.xml

<package name="product" namespace="/product" extends="struts-default">
<action name="product" class="web.action.ProductAction">
<result>/list.jsp</result>
</action>
</package>

html:

<a href="/product/product!list.action" />

执行ProductAction中的list方法

表单提交

<form action="/product/product!list.action"></form>


实际应用:
基于方法1:{1}
1.让action的name,method和返回的jsp都叫一样的名字
2.struts.xml如下配置

<package name="product" namespace="/product" extends="struts-default">
<action name="{1}" class="web.action.ProductAction" method="{1}">
<result>{1}.jsp</result>
</action>
</package>

当url为/product/list时,{1}就会换成{list},就可以实现调用action中的方法了
需要多个通配符时,可以这样name="{1}_{2}"

基于方法2:!
这个方法配置的action很少,要想返回的视图jsp不能写死,要用这样方法:<result>${params}</result>
action

public class ProductAction extends ActionSupport{
private String result;
public String list{
....
this.setResult("list");
return SUCCESS;
}
}



<package name="product" namespace="/product" extends="struts-default">
<action name="product" class="web.action.ProductAction">
<result>/${result}.jsp</result>
</action>
</package>

${result}会被变为list,最终结果是<result>list.jsp</result>,这样就实现了动态的返回视图jsp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值