网络编程 
首页 > 网络编程 > 浏览文章

jsp中利用jquery+ajax在前后台之间传递json格式参数

(编辑:jimmy 日期: 2024/12/31 浏览:3 次 )
经过一段时间的实验琢磨,终于将前后台之间的参数传递搞定了,实验所用工具myeclipse+structs1.2。

总结:容易出错的地方:1.ajax中data的格式一定要写对,这里举了两种形式,一种是 data:{参数:“”} 另一种是 data:“参数=”+变量。

2.后台传递到前台数据转化为json格式,步骤要掌握好。

3.在js使用jquery必须要引用进来,否则会不执行jquery语句,这个问题困扰了我半天才解决掉,菜鸟的悲哀啊。jquery引用流程如下:网上下载jQuery.js,jquery-1.4.2.min.js两个js文件,放在webroot下的文件夹js中,引用代码如下:

<script src="/UploadFiles/2021-04-02/jQuery.js">
<script src="<%=path%>/js/jquery-1.4.2.min.js">
其中<%=path%>就代表了根目录wenroot文件目录。

4.ajax的url路径必须要写对。

5.当前台没有传递参数到后台时,data可以不用写,或用data:{}代替。

前台代码如下:
复制代码 代码如下:
<span style="white-space:pre"> </span>var checkValue=$("#s1").val();

复制代码 代码如下:
<span style="white-space:pre"> </span>//这个var是获取的id问s1的select选择的opention值
$
.ajax({
type : "post",
url : "getShowDataList.do",
async : true,
//data:{data:""},这种也可以
data :
"filepath="+checkValue

复制代码 代码如下:
<span style="white-space:pre"> </span>//data:中的是传递到后台的数据,这里数据格式为json格式
,
dataType : "json",
error : function() {
//alert(checkValue);
alert('加载失败!');
},
success : function(json) {

复制代码 代码如下:
<span style="white-space:pre"> </span>//这里的json是后台传递过来的数据,这里数据格式也是json格式

前台获取后台的json格式list数据集,这段写在function中
复制代码 代码如下:
var points = [];//创建数组
for ( var i = 0; i < json.length; i++) {

var str = new OpenLayers.LonLat(json[i].lon,
json[i].lat);
points.push(str);

}

后台代码:
复制代码 代码如下:
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {

String filepath = request.getParameter("filepath");

复制代码 代码如下:
<span style="white-space:pre"> </span>//获取前台传递过来的filepath
System.out.println(filepath);

List<Show> datalist = getShowData(filepath);

response.setContentType("appliction/json;charset=utf-8");
JSONArray jsonArray = JSONArray.fromObject(datalist);

复制代码 代码如下:
try {

PrintWriter out = response.getWriter();
out.print(jsonArray);
for (int i = 0; i < jsonArray.size(); i++) {
System.out.println(jsonArray.get(i));
}
out.flush();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
上一篇:jsp只在首次加载时调用action实现代码
下一篇:jsp地址栏传中文显示乱码解决方法分享
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?