今天我们来说说开发中的参数传递,参数传递在B/S架构中非常重要,为什么这么说呢?因为现在我们开发系统,无论是互联网产品,企业级产品还是个人网站,都需要交互,交互就跟人的交流是一样的,就要传递信息。传递信息有很多种,我们今天就拿两种方式来举例说明一下就好,下面我么就拿纯页面传递参数到纯页面,页面传递参数到servlet这两种方式来说说传递方式的区别。
1.页面传参到页面
这种参数传递方式我们一般是直接在URL后面追加参数的方式,在获取页面的初始化获取URL的参数,传递参数和获取参数都需要JS来完成,具体代码如下:
1.1传递参数
function bbb(){
var dept_his="中文参数";
var dept_en=encodeURI(dept_his);
window.location.href="bbb.jsp?dept="+dept_en;
}
1.2接收参数
function getUrlParam(name) {
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return decodeURI(r[2]); return null;
}
function dsad(){
var aa=getUrlParam('dept');
alert(aa);
}
function getUrlParam(name)
{
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return unescape(r[2]); return null;
}
通过以上方法是不是就能很清晰的解决页面到页面的参数传递了呢。我上面举得例子是中文参数的传递,因为中文的参数传递容易出现乱码,所以我们拿中文的来举例子,上面最后那个方式取参数是正常的方式,就是没有经过编码的参数的接收。
2.参数传递到servlet
这种参数传递方式我们一般是通过表单,URL后面追加参数的方式,在servlet中获取参数,如果出现中文乱码,通过在servlet端通过重建string字符串的方式来实现中文乱码重新编译。
以上两种参数传递的方式差异还是很大的,需要大家去仔细品味,后续还会增加相应的例子,请大家多多关注。