在页面增加触发函数,如下,参数test即为对象的别名,查询出对象后,使用该别名
$(".img_xmdj").click(function(){
$.post("jsdwController.html",{test:'test'},function(data){
eval(unescape(data));
alert("id:"+test.id)
alert("name:"+test.name)
alert("code:"+test.code);
alert("date:"+test.dt);
});
});
在Controller中增加测试对象
String test = request.getParameter("test");
if(StringUtils.isNotEmpty(test)){
YdTest t = new YdTest();
t.setCode("ABCDEFG");
t.setId(1234567);
t.setName("約翰.史密斯");
t.setDt(new Date());
ResponseUtil.write(test, response, t);
return null;
}
在工具类中处理返回的对象字符串
public static void write(String tagName,HttpServletResponse res,Object obj){
StringBuffer sb = new StringBuffer();
try {
sb.append("var "+tagName+" = {\n");
Field[] fields = obj.getClass().getDeclaredFields();
if(fields != null&&fields.length > 0){
for(Field f : fields){
if("serialVersionUID".equals(f.getName()))continue;
f.setAccessible(true);
Object value = f.get(obj);
if(value == null){
sb.append(f.getName()).append(":").append("'',");
continue;
}
String type = f.getType().getName();
if("java.lang.String".equals(type)){
sb.append(f.getName()).append(":").append("'").append(value).append("',");
}else if("java.util.Date".equals(type)){
if(!value.equals("")){
value = DateFormat.getDateTimeInstance().format((Date)value);
sb.append(f.getName()).append(":").append("'").append(value).append("',");
}
}else{
sb.append(f.getName()).append(":").append(value).append(",");
}
}
}
if(sb.lastIndexOf(",")>0){
sb.deleteCharAt(sb.lastIndexOf(","));
}
sb.append("\n};");
System.out.println(sb.toString());
PrintWriter write = res.getWriter();
write.print(escape(sb.toString()));
write.flush();
write.close();
} catch (Exception e) {
e.printStackTrace();
}
}
需要注意的地方是红色标注出来的地方,因为jquery传递中文时,会出现乱码,所以在后台输出的时候编码,在前台获取的时候在转码,确保中文输出没问题
补充于2012-08-29
发现使用JSONObject和JSONArray对象转换更方便,无需在javascript端再使用unescape函数转换,代码如下
java代码
String xml = "";
if(obj instanceof List){
JSONArray array = JSONArray.fromObject(obj);
xml = array.toString();
}else{
xml = JSONObject.fromObject(obj).toString();
}
PrintWriter write = res.getWriter();
res.setCharacterEncoding("UTF-8");
System.out.println(xml);
write.print(xml);
write.flush();
write.close();
js代码
var data = JSON.parse(json);
for(var i=0;i<data.length;i++){
if(parseInt(data[i].typeParentId) <= 1){
html += ("<option value='"+parseInt(data[i].id)+"'>"+data[i].typeName+"</option>");
}
}
分享到:
相关推荐
10. **JavaScript对象到Java对象的转换**:在服务器端,可能需要将jQuery传递的JSON数据转换为Java对象,这通常涉及到JSON库如Gson或Jackson。 11. **jQuery与WebSocket**:如果涉及实时通信,jQuery可以通过配合...
这个文件很可能包含了自定义的JSON处理工具类,可能包含如`toJson()`和`fromJson()`这样的方法,用于将Java对象转换成JSON字符串以及将JSON字符串反序列化为Java对象。 5. **jquery.json-2.3.min.js**: 这是一个...
使用Gson或Jackson库可以方便地将Java对象转换成JSON格式。 ```java import com.google.gson.Gson; // 或 import com.fasterxml.jackson.databind.ObjectMapper; // 假设有一个User类 public class User { ...
1. 图片数据的解码:将前端发送过来的二进制数据转换为图片对象。 2. 图片裁剪:使用Java的图像处理库,如Java AWT或JavaFX,根据前端传来的裁剪参数对图片进行裁剪。 3. 存储裁剪后的图片:将处理后的图片保存到...
FastJSON是阿里巴巴提供的一个Java库,可以方便地将Java对象转换为JSON字符串,反之亦然。例如,`JSONObject obj = JSON.parseObject(jsonString);`将JSON字符串转换为JSONObject,而`String jsonString = obj....
了解如何在jQuery对象和DOM对象之间转换至关重要,这可以帮助我们在需要使用jQuery的强大功能时,也能灵活地利用DOM对象的原生方法。例如,当你需要操作某个特定的DOM属性,而jQuery没有提供直接的接口时,可以先将...
**jQuery实现的Java电子相册系统** 在当今的Web开发中,用户界面的交互性和动态性成为了提升用户体验的关键因素。`jQuery`是一个轻量级、高性能的JavaScript库,它简化了HTML文档遍历、事件处理、动画设计以及Ajax...
在Java开发中,有时我们需要在后端代码中与前端的JQuery库进行交互,以便实现更复杂的客户端功能,如异步数据传输、DOM操作等。本主题将详细讲解如何在Java项目中使用Jquery的jar包,以及相关知识点。 首先,我们...
在Java后端,可以使用Gson或Jackson库将Java对象转换为JSON字符串。 4. **异步与同步**:AJAX的核心特性是异步,意味着请求不会阻塞页面的其他操作。通过设置`async: true`(默认值),可以确保请求在后台执行。...
给定的代码可能包含解析JSON字符串成Java对象,或者将Java对象转换为JSON字符串的函数,如`parseJSON()`和`toJSONString()`。 5. **数据库连接与JDBC**: JDBC(Java Database Connectivity)是Java访问数据库的...
`@RequestBody`注解用于将请求体中的JSON转换为Java对象。 标签“源码”和“工具”提示我们关注代码实现和可能使用的辅助工具。在实际开发中,可能需要IDE如IntelliJ IDEA或Eclipse,以及调试工具如Postman来测试和...
本主题聚焦于"java源代码,主要是jquery插件的利用",这意味着我们将探讨如何在Java后端项目中集成与使用jQuery插件,以及相关的编程实践。 首先,我们需要理解jQuery是一个JavaScript库,它通过提供简洁的API来...
1. **序列化与反序列化**:Java对象可以通过这些库转换为JSON字符串,反之亦然。例如,`Map, Object>`是Java中最常用的用于JSON数据处理的集合类型之一,它可以轻松地转换为JSON格式。 2. **JSON数据解析**:使用...
本主题将深入探讨如何使用jQuery与Java后端代码实现高效、动态的分页功能。 首先,jQuery是一个轻量级的JavaScript库,它极大地简化了DOM操作、事件处理和Ajax交互。在分页场景中,jQuery主要负责前端的用户交互,...
在服务器端,我们可以使用Gson来将Java对象转换成JSON字符串,或者将JSON字符串解析成Java对象。以下是一个简单的示例: ```java import com.google.gson.Gson; public class User { private String name; ...
在Web开发中,jQuery的AJAX功能经常被用于与服务器进行异步数据交换,而Struts2作为一款流行的Java Web框架,提供了处理前端请求的能力。本文将深入探讨如何使用jQuery的AJAX方法发送JSON对象数组到Struts2的Action...
Hibernate3是一个ORM(对象关系映射)框架,简化了数据库操作,将Java对象与SQL数据库表对应起来。 动态树的实现通常涉及服务器端的数据获取。在这个系统中,当用户在前端交互(如点击节点)时,可能触发AJAX请求,...
2. 转换Java对象为JSON:如果你有一个Java对象需要转换为JSON,可以使用`JSONObject`的`toString()`方法或`toJSONString()`方法。 ```java public class Person { String name; int age; // getters and ...