struts2里action传参的怪异问题:用js跳转action,后面带了参数,第一次运行的时候是正确的,但是第二次就
郁闷,咋只能写这么点字。。。具体是这样的:jsp页面里,js部分:arg1=document.getElementById("arg1").value;arg2=docu...
郁闷,咋只能写这么点字。。。
具体是这样的:jsp页面里,
js部分:
arg1=document.getElementById("arg1").value;
arg2=document.getElementById("arg2").value;
form.action="actionname?arg1="+arg1+"&arg2="+arg2;
form.submit();
xml里跳转的是method方法,返回的是一个jsp页面,但这个页面是在另一个iframe里的,结果都是正确的,主要是后天取参的时候的问题:
action部分:
private String arg1;
private String arg2;(set、get方法都写的,此处省略)
public String method(){
request = ServletActionContext.getRequest();
System.out.println("arg1:"+arg1);
System.out.println("arg2:"+arg2);
}
其他无关的内容就省略了,首先页面点击事件后,第一次是正确的:
arg1:arg1;
arg2:arg2;
但是再点一下,action再次运行,我在js里alert了,发现action的路径是没有发生变化的,也就是参数没变,但是在后天输出的时候却变成了:
arg1:arg1, arg1;
arg2:arg2, arg2;
实在无法理解,求牛人指点! 展开
具体是这样的:jsp页面里,
js部分:
arg1=document.getElementById("arg1").value;
arg2=document.getElementById("arg2").value;
form.action="actionname?arg1="+arg1+"&arg2="+arg2;
form.submit();
xml里跳转的是method方法,返回的是一个jsp页面,但这个页面是在另一个iframe里的,结果都是正确的,主要是后天取参的时候的问题:
action部分:
private String arg1;
private String arg2;(set、get方法都写的,此处省略)
public String method(){
request = ServletActionContext.getRequest();
System.out.println("arg1:"+arg1);
System.out.println("arg2:"+arg2);
}
其他无关的内容就省略了,首先页面点击事件后,第一次是正确的:
arg1:arg1;
arg2:arg2;
但是再点一下,action再次运行,我在js里alert了,发现action的路径是没有发生变化的,也就是参数没变,但是在后天输出的时候却变成了:
arg1:arg1, arg1;
arg2:arg2, arg2;
实在无法理解,求牛人指点! 展开
展开全部
每次提交后,把arg1和arg2值先清空,再接收和赋值
追问
struts2的页面元素啊,如何进行先清空,再赋值呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你在js里面就重新指明action的跳转路径
追问
什么意思哇?我跳转的是同一个action,传得也是同样的参数,所以不用改action路径啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
页面跳转你可以直接写:window.location='actionname?arg1='+arg1+'&arg2='arg2 用struts2标签或者用EL表达式传值要好传写 你那样给参数估计是累加了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
值栈的影响?或者你的arg1 set方法问题。
追问
set、get方法是eclipse手动载入:“generate getters and setters”:
public String getArg1() {
return arg1;
}
public void setArg1(String arg1) {
this.arg1= arg1;
}
public String getArg2() {
return arg2;
}
public void setArg2(String arg2) {
this.arg2= arg2;
}
追答
你可以在setArg1()方法里面打印看看结果是什么,或者直接用request获取参数呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询