ajax传递字符串串到JSP,怎么回事

如何实现页面跳转并传值时,在另一个页面获取传的参数,并解决中文乱码问题?
我的图书馆
如何实现页面跳转并传值时,在另一个页面获取传的参数,并解决中文乱码问题?
  传值:  $(“#btn”).click(function(){  window.location.href=’index.html?cont=’+count+’&name=’+  })  接收值:  var url=window.location. //获取当前页面的url  var len=url. //获取url的长度值  var a=url.indexOf(“?”); //获取第一次出现?的位置下标  var b=url.substr(a+1,len); //截取问号之后的内容  var c=b.split(“&”); //从指定的地方将字符串分割成字符串数组  var arr=new Array(); //新建一个数组  for(var i=0;i  var d=c[i].split('=')[1]; //从=处将字符串分割成字符串数组,并选择第2个元素  arr.push(d); //将获取的元素存入到数组中  }  但是在传值过程中可能会出现中文字符,这就需要进行编码解码  1.encodeURI() 函数可把字符串作为URI进行编码  encodeURI(URIstring)  URIstring 必需。一个字符串,含有 URI 或其他要编码的文本。  返回值 URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。  该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。  该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?:@&=+$,#  此方法的解码为decodeURI()  2.encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。  encodeURIComponent(URIstring)  URIstring 必需。一个字符串,含有 URI 组件或其他要编码的文本。  返回值 URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。  该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。  其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。  此方法解码方式decodeURIComponent()  请注意 encodeURIComponent() 函数 与 encodeURI() 函数的区别之处,前者假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串)。因此 encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号。
TA的最新馆藏
喜欢该文的人也喜欢JAVA数组传给JSP页面并显示数组里面的字符串_百度知道
JAVA数组传给JSP页面并显示数组里面的字符串
public class Flie {
* @param args
public static void main(String[] args) {
File file=new File(&C:\\Users\\Administrator\\Desktop\\website\\WEB-INF\\upload&);
String test[];
test=file.list();
File srcFile = ...
帮帮忙吧大神们
我有更好的答案
可以的,你这样试一下 在jsp页面中: 在该页的javascript中 var strs=document.getElementById(&findArray&); 这里的strs就是目标数组。 不知道你是后台传给JSP然后再传给JS还是直接在JSP中产生值?8679
采纳率:65%
为您推荐:
其他类似问题
java数组的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。jsp页面传递中文和特殊字符参数问题
一. 传递中文参数
function insertDetails(value){
"&%=request.getContextPath()%&/bargainNewMaterialsAction.do?formAction=insertPlanDetail&details="+encodeURI(encodeURI(document.getElementByIdx_x("details").value));
createXMLHttpRequest();
XMLHttpReq.onreadystatechange = getF
XMLHttpReq.open("post",url , false);
XMLHttpReq.send(null);
function createXMLHttpRequest(){
if(window.XMLHttpRequest){
XMLHttpReq = new XMLHttpRequest();
else if (window.ActiveXObject){
XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
}catch (e){
XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}catch (e) {
String materialsCodes =
URLDecoder.decode(request.getParameter("details"),"utf-8");
二. 传递特殊字符参数,如 ? & 等
function financeProcess(){
var seqs = document.getElementsByName("sepType");
for(var i=0;i&seqs.i++){
if(seqs[i].checked)
sepValue=seqs[i].
"&%=request.getContextPath()%&/bargainNewMaterialsAction.do?formAction=financeProcess";
createXMLHttpRequest();
XMLHttpReq.onreadystatechange = getF
XMLHttpReq.open("post", url, false);
XMLHttpReq.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded"); //send 参数时此行必须有
XMLHttpReq.send("sapNo="+document.getElementByIdx_x("sapNo").value
+"&menu="+escape(encodeURIComponent(document.getElementByIdx_x("menu").value))
+"&public="+
escape(encodeURIComponent(document.getElementByIdx_x("public").value))
+"&sepType="+sepValue);
String menuUrl =
URLDecoder.decode(request.getParameter("menu"),"utf-8");
String publicUrl =
URLDecoder.decode(request.getParameter("public"),"utf-8");
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。如何将后台传递的字符串转化为日期显示到jsp页面上_百度知道
如何将后台传递的字符串转化为日期显示到jsp页面上
我有更好的答案
那得看字符串格式是否是日期啦如果是则可以借助于SimpleDateFormat进行转换!
采纳率:22%
strtodate()
为您推荐:
其他类似问题
字符串的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。jsp页面之间如何传递一个js对象 - ITeye问答
比如有两个jsp页面,a.jsp与b.jsp
在a.jsp中有一个js对象sellerInfo,我想要这个sellerInfo传递到b.jsp
使用 window.location = "b.jsp?data"+sellerInfo 的话 不可行
把对象转换成字符串就可以了,常常所说的序列化,可以根据自己的思路来转化。
页面传输有多种方式:
1.url参数传递,适用于单个参数传递
父页面中
使用url带参数方式给字面传输参数test.jsp?para1=data1&para2=data2,参数使用&分割
子页面中
子页面中使用浏览器的getParameter获取url中传递过来的参数
&%
String&& data1=request.getParameter("para1");
String&& data2=request.getParameter("para2");
2.弹出窗口传递,适用于对象传输
父页面中:var obj = new Object();//定义一个传递给子页面的对象
obj.para1=data1;
obj.para2=data2;
var retObj =//用于接收模态窗口返回对象;
retObj = window.showModalDialog("modal.htm",obj,"dialogWidth=200dialogHeight=100px");&&
if(retObj != null)
{
&& //retObj.retPara1为子页面返回给父页面的值,子页面中使用window.returnValue这个对象给父页面返回值;
&& if(retObj.retPara1 != null)
&&&& var retPara = retObj.retPara1;
}
子页面中:
接收父页面传输过来的对象,一定要判断是否为空奥。
if(window.dialogArguments != null)
var inputObj = g_Obj = window.dialogA
var para1 = inputObj.para1;
var para2 = inputObj.para2;
子页面返回给父页面参数:
var returnObj = new Object();
returnObj.retPara1& = "returnValue";
window.returnValue = returnO//将返回对象付个window的对象,这样父页面就以获得子页面传回的对象了。
window.close();
3.使用window.open弹出页面,直接使用window.parent进行对象获取
a.html
&html&
&script language="javascript"&
var obj = '1';
function openB()
window.open ("b.html") //写成一行
&body onload="b.html"&
&/body&
&/html&
b.html
&html&
&script language="javascript"&
function showInputPara()
alert(window.parent.obj);
&body onload="showInputPara();"&
&/html&
需要注意的是这种方法只能获取a页面中的全局变量和对象,不能获取局部对象和变量
4.借助浏览器的Cookie
使用Cookie存在很多不稳定因素,这里不建议使用。给出部分代码
Cookie cookie = new Cookie("key", "value"); //往Cookie中设置键值对,键必须唯一,值可以是对象
cookie.setMaxAge(60);& //设置60秒生存期,如果设置为负值的话,则为浏览器进程Cookie(内存中保存),关闭浏览器就失效。
Cookie[] cookies = request.getCookies(); //获取Cookie中的键值对数组
5.借助session
上面的兄弟已经叙述了,我这里就不再写了
说一个简单一点的办法,使用iframe父子窗口获取这个变量:
1 保存下面代码为a.html
&input type='button' value='获取b.html的sellerInfo变量值' onclick="getValue()"&
&iframe id='iframeb' src='b.html' style='display:none'&
function getValue(){
alert(frames['iframeb'].sellerInfo)
2 保存下面代码为b.html
&script&
var sellerInfo = 123;
3 运行a.html的“获取sellerInfo值”按钮。
4 其实jsp与html也是一样的道理。
看实际情况 你可以在a.jsp跳转到b.jsp的时候,直接把sellerInfo 对象作为参数传到b.jsp中的某个方法,再在这个方法中使用。
上面这种方法有点绕。
var rowdata=$('#cartTable').getRowData(ids[0]);
function setRowData(rowdata)
session.setAttribute("seller_id", rowdata.seller_id);
session.setAttribute("seller_name", rowdata.seller_name);
session.setAttribute("seller_person", rowdata.seller_person);
session.setAttribute("seller_phone", rowdata.seller_phone);
思路:
1.在a.jsp 中把sellerInfo对象转化为java对象,放到session
2.在b.jsp中取出这个对象。再去用这个对象。
参照这个问题:
已解决问题
未解决问题}

我要回帖

更多关于 js传递字符串参数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信