在项目中的action层 有时后会用到JsonObject来往页面传,这个跟request。setattribute有啥区别,或者struts2里的直接定义参数和对象 有啥区别?
补充问题:比如用的是Struts1 在Action类 一般都用request。setAttribute(list<T>) 用的是Struts2 直接在Action类定义private List<T> list 页面直接可以接收到这个list 问题是:为啥有的项目里非要用JsonObject来
System.out.println(json.toString()); //结果为:{"name":"hzucmj","age":22}??有啥区别 JsonObject 就是常说的 json。 能够看作是一个JSON目标,这是体系中有关JSON界说的根本单元,其包含一对儿(Key/Value)数值。它对外部(External: 应用toString()办法输出的数值)调用的呼应体现为一个规范的字符串(例如:{"JSON": "Hello, World"},最外被大括号包裹,其间的Key和Value被冒号":"分隔)。其对于内部(Internal)行为的操作格局稍微,例如:初始化一个JSONObject实例,引证内部的put()办法增加数值:new JSONObject().put("JSON","Hello, World!"),在Key和Value之间是以逗号","分隔。Value的类型包含:Boolean、JSONArray、JSONObject、Number、String或许默认值JSONObject.NULL object 。 是一种重要的数据传输对象。 其格式为{"key1":value1,"key2",value2....};key 必须是字符串。 很像map对不对,一个key,一个value。 因为ajax请求不刷新页面,但配合js可以实现局部刷新,因此json常常被用来作为异步请求的返回对象使用。 通过response.getWriter()获取PrintWriter pw,然后pw.print(json)。 如果没有设置response.setContentType("application/json; charset=utf-8"); 则需要自己再js中进行解析。
比较request.setAttribute("key",value); 这个必须配合forwoar来转发跳转到需要这个value的jsp页面。页面刷新。 Java中交互方式分为同步和异步两种: 同步交互:指发送一个请求,需要等待返回,然后才能够发送下一个请求,有个等待过程; 异步交互:指发送一个请求,不需要等待返回,随时可以再发送下一个请求,即不需要等待。 区别:一个需要等待,一个不需要等待,在部分情况下,我们的项目开发中都会优先选择不需要等待的异步交互方式。 (责任编辑:yang) |