struts2 动态方法调用
我的表单里有两个按钮,add和modify,add这个按钮就提交到默认的execute()的方法,modify按钮提交到modify()方法,问题就是点了modify按钮后没提交到modify()方法,而提交到了execute()方法,请问问题出在哪里了呢?谢谢!
//===========jsp=======================
function modify(){
targetForm=document.form[0];//取得第一个表单元素
targetForm.action="addModifyDelivery!modify";//动态修改表单的action属性
}
.......
<s:form action="addModifyDelivery">
.........
<input type="submit" onClick="modify();" value="MODIFY" class="high"/>
==============================================
public String execute() {
InsertBiz ib = new InsertBizImpl();
try {
ib.addDelivery(name, name_c, Terms_Notes);
System.out.println("添加交货价名成功");
ActionContext.getContext().getSession().put("name", getName_c());
setTip("恭喜您:" + getName_c() + "添加交货价名成功");
return SUCCESS;
} catch (Exception e) {
// TODO Auto-generated catch block
setTip("对不起:" + getName_c() + "添加交货价名失败");
e.printStackTrace();
return FAIL;
}
}
public String modify() {
InsertBiz ib = new InsertBizImpl();
try {
ib.modifyDelivery(text_e, text_c, Term_Note, select);
System.out.println("修改交货价名成功");
ActionContext.getContext().getSession().put("text", getText_c());
setTip("恭喜您:" + getText_c() + "修改交货价名成功");
return SUCCESS;
} catch (Exception e) {
// TODO Auto-generated catch block
setTip("对不起:" + getText_c() + "修改交货价名失败");
e.printStackTrace();
return FAIL;
}
}
=========struts.xml==================================================================
<action name="addModifyDelivery" class="com.hx.qpxnet.entity.AddModifyDelivery">
<result>/Infometions.jsp</result>
<result name="fail">/Infometions.jsp</result>
</action>
现在,不论点哪个按钮都转向是execute方法,帮我把代码中的错指出,感谢!
------解决方案--------------------struts2 action的默认执行execute()方法,要想使用其他方法可以在struts.xml中
<action name="addModifyDelivery" class="com.hx.qpxnet.entity.AddModifyDelivery">
<result>/Infometions.jsp </result>
<result name="fail">/Infometions.jsp </result>
</action>
加一个method属性,如:
<action name="addModifyDelivery" class="com.hx.qpxnet.entity.AddModifyDelivery" method="modify">
<result>/Infometions.jsp </result>
<result name="fail">/Infometions.jsp </result>
</action>
------解决方案--------------------因为struts2.0执行默认的excute方法
你的在action里面 用method属性 来指定 你要代替execute的方法的名字
------解决方案--------------------ding
------解决方案--------------------帮顶
------解决方案--------------------点击modify的时候改变下<s:form action="addModifyDelivery"> action =action="addModifyDelivery!modify.action"
------解决方案--------------------用DispatchAction
------解决方案--------------------struts.properties