首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

求指导入门级:JSON的使用有关问题。jquery的使用

2013-07-08 
求指导入门级:JSON的使用问题。jquery的使用。刚入门不久,总是听说json、jquery这两个术语。网上查了些资料:觉

求指导入门级:JSON的使用问题。jquery的使用。
刚入门不久,总是听说json、jquery这两个术语。网上查了些资料:求指导入门级:JSON的使用有关问题。jquery的使用觉得json就是一种存放数据的东西,用它存放后js更容易解析。jquery是个方便产生特效的东西。我想写实例来验证他们。先写个验证json的。我的想法是:
用json定义几个学生类,然后把学生类按年龄从大到小排序后输出到页面。问题是不知道怎么下手:json定义变量是在js中定义还是在java类中定义?jsp页面怎么显示json中的内容?
哪位大侠能给个完整的实例让我学习学习,感激不尽啊 JSON jQuery J2EE Java
[解决办法]

public class student { // bean
private int id;
private String name;
//get & set 
...
}
@Controller
public class StudentController {
@requstmapping("/allstudent")
@ModelAttribute("users")
public List<student> getAll() {
  List<student> all = new ArrayList<student>();
  for ( ...) {
     student bean = new student(); //new bean
     bean.setid(...);              // build bean 
     bean.setname(...);

     all.add(bean);
  }
  return all; // json
}
}



Ext.define('User', {
    extend: 'Ext.data.Model',
    fields: [
        {name: 'name',  type: 'string'},
        {name: 'id',   type: 'int'}
    ]
var store =  var myStore = Ext.create('Ext.data.Store', {
     model: 'User',
     proxy: {
         type: 'ajax',
         url: 'server_path/context_path/allstudent',
         reader: {
             type: 'json',


             root: 'users'
         }
     },
     autoLoad: true
 });

Ext.create('Ext.grid.Panel', {
    store: store,
    columns: [
        { text: 'Name',  dataIndex: 'name',flex:1 },
        { text: 'id', dataIndex: 'id', flex: 1 }
    ],
    height: 200,
    width: 400,
    renderTo: Ext.getBody()
});
});


gridpanel渲染后,store自动加载数据,一个request “.../.../allstudent”传到后台。后台收集数据,组成json对象,返回前台。store得到数据后,在grid里显示。
[解决办法]
先下载json-lib.zip,所有的jar包导入web-inf/lib
后台servlet:

JSONObject json = new JSONObject();
json.put("1", "java");
json.put("2", "vb");
json.put("3", "php");
response.getWriter().println(json.toString());

jsp:

$.ajax({
type:"post",
url:"com/testServlet",
async:false,
dataType:"json",
success:function(data){
             console.log(data);//控制台打印json数据
        }
});

热点排行