假设一个页面cart.jsp
里面的部分代码:
如果您修改了商品数量,请点击 | ![]() |
怎样将上面的struts1的action请求用struts2来代替
struts1的传递方式:
1.在页面需要定义一个标准,一般用method表示
eg
method = 'add' | method = 'del'
这样可以在struts1中用method来区分到达需要执行那个方法。
struts2:
struts2不需要method,只需在action + ! + 方法.action
eg:
user!add.action
也就是说struts2会根据上面的方式自动帮我们解析
那么在你的程序中:
Struts1:
function settleAccounts(){
if(validateAmount()){
var form = document.forms["buycart"];
[color=red]form.method.value=""; [/color]
form.submit();
}
}
Struts2:
function settleAccounts(){
if(validateAmount()){
var form = document.forms["buycart"];
[color=red]form.action="user!add.action"; [/color]
form.submit();
}
}
注意红色的地方。是可以按要求修改的
另外。建议你看看struts2的例子。看看它的流程。这样对比一下struts1。可以很快将struts1的jsp页面改造成struts2的jsp页面
XXX为Action的名字
默认的就是POST
可以 在Form中添加 method="POST/GET"呀
需要改两个位置:
1.
color=red]shopping!add.action[/color]解释:
shopping就是对应的action;
add.action对应的是action中的方法,即struts1中的method=add
2.js
function settleAccounts(){
if(validateAmount()){
var form = document.forms["buycart"];
form.method.value="settleAccounts";
form.submit();
}
}
改为:
function settleAccounts(){
if(validateAmount()){
var form = document.forms["buycart"];
form.submit();
}
}