今天我们来说说开发中的参数传递,参数传递在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字符串的方式来实现中文乱码重新编译。
以上两种参数传递的方式差异还是很大的,需要大家去仔细品味,后续还会增加相应的例子,请大家多多关注。