JSP 跳转与传值技巧

来源:互联网 发布:魔方网软件下载 编辑:程序博客网 时间:2024/06/05 20:25

1:超连接跳转


我们在超连接的时候,常常连接到一个jsp或者Action,比如

<a href="test.jsp?param1=value&param2=value2">XXX</a>

这样做会有一个问题:在test.jsp中,除你传递的param1和param2参数外,你用request.getParamter()取任何原来页面的表单元素都会为空,这是因为<a href>这种方式会产生新的request生命周期,在这个request中只会包含超连接后跟随的?param1这种参数,因此我的建议是如果不是很简单的页面跳转(比如回登陆页面之类的),尽量不要用这种超连接方式。

2:即传参又提交表单


如果确实既要像上述第一种方式传参数,又要提交表单的话,可以采取如下方式:

<a href='#' onClick=commonSubmit('param1=value1&param2=value2') >XXX<a>

在脚本中如下处理:

function commonSubmit(url)

{

form1.action="/jsp/managerAction.do?"+url;

form1.submit();

}

提交到Action和jsp是一样的原理,但要记住<form>中method=post不能少,否则它只提交表单而不传param参数了(正好和第一种相反:) )

3:js和java变量互传


在jsp中经常会遇到把js变量赋给java变量,或者将java变量赋给js变量的情况,在此将通用的处理方法小结如下:java变量传给js好办,var a ="<%=javaParam%>";注意要将""加上;js变量给java稍微复杂点,一般是在表单中用一个<input type='hidden' name=jsParam value=''>的隐藏表单元素,然后在脚本中将js变量值赋给它:

var jsParamValue='aaaa';

form1.jsParam.value=jsParam;

然后就可以request.getPrameter("jsPrama");来取得js变量值了

原创粉丝点击