2007-07-30
jquery + json + springMVC集成在controller中实现Ajax功能
关键字: jquery json springmvc controller
1、在spring配置文件中加入xmlViewResolver
2、增加一个spring配置文件:ajax-views.xml
3、AjaxJsonView继承AbstractView,并实现renderMergedOutputModel接口
4、在controller中增加属性String jsonView,用来区分不同的view,并增加被Ajax调用的方法
5、在jsp页面中实现ajax get方法
注:需要引入jquery.js,json for java和spring framework
xml 代码
- <!-- 定义XML view -->
- <bean id="xmlViewResolver" class="org.springframework.web.servlet.view.XmlViewResolver">
- <property name="order" value="1"/>
- <property name="location" value="/WEB-INF/ajax-views.xml"/>
- </bean>
xml 代码
- <bean name="jsonView" class="com.xx.util.AjaxJsonView">
- <property name="contentType">
- <value>text/xml;charset=utf-8</value>
- </property>
- </bean>
java 代码
- response.setContentType("text/xml; charset=UTF-8");
- // Set standard HTTP/1.1 no-cache headers.
- response.setHeader("Cache-Control",
- "no-store, max-age=0, no-cache, must-revalidate");
- // Set IE extended HTTP/1.1 no-cache headers.
- response.addHeader("Cache-Control", "post-check=0, pre-check=0");
- // Set standard HTTP/1.0 no-cache header.
- response.setHeader("Pragma", "no-cache");
- JSONArray jsonArray = (JSONArray)map.get("ajax_json");
- response.getWriter().write(jsonArray.toString());
java 代码
- public ModelAndView isEmptyOfCategory(HttpServletRequest request,
- HttpServletResponse response) throws Exception{
- //ajax method?
- boolean isAjax = RequestUtils.getRequiredBooleanParameter(request, "ajax");
- //others parameters
- jsonObject.putOpt("categoryId", category_id);
- jsonObject.putOpt("categoryName", category.getName());
- isEmpty = false;
- jsonObject.putOpt("isEmpty", isEmpty);
- String view = null;
- if (isAjax) view = this.getJsonView();
- return new ModelAndView(view, "ajax_json", jsonObject);
- }
js 代码
- $.get('controller?method=isEmptyOfCategory',{id: id, ajax: 'true'},function(response) {
- try {
- var json = eval(response);
- for (var i = 0; i < json.length; i++) {
- alert(json[i].isEmpty);
- }
- } catch(e) {
- alert("Error in JSON response:"+e);
- }
- });
评论
caco
2008-06-26
请问如何将jquery和jsf结合在一起呢?
我看到jones 在http://www.javaeye.com/problems/782 写的一个方式,
但是jQuery.get(url,[data],[callback])能不能在jsf中直接使用?
我看到jones 在http://www.javaeye.com/problems/782 写的一个方式,
但是jQuery.get(url,[data],[callback])能不能在jsf中直接使用?
laiseeme
2008-04-28
renderMergedOutputModel是哪来的接口 还是个方法?
javaest
2008-04-28
我的作法可能与你不同,但是也是为了SpringMvc支持Ajax请求.
扩展Spring MVC 用以支持Controller对Ajax的处理
http://javaest.javaeye.com/blog/187504
扩展Spring MVC 用以支持Controller对Ajax的处理
http://javaest.javaeye.com/blog/187504
liuzongan
2008-04-26
自定义你的VIEW层,比这个写的更简单
zhouzhao21
2008-04-26
呵,比我的做法好多了.我直接定义了一个新的返回的 ModelAndView .然后在解析时进行了拦截.
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 1070 次

- 详细资料
搜索本博客
我的相册
家乡
共 1 张
共 1 张
最近加入圈子
最新评论
-
jquery + json + springMV ...
请问如何将jquery和jsf结合在一起呢? 我看到jones 在http:// ...
-- by caco -
jquery + json + springMV ...
renderMergedOutputModel是哪来的接口 还是个方法?
-- by laiseeme -
jquery + json + springMV ...
我的作法可能与你不同,但是也是为了SpringMvc支持Ajax请求. 扩展Sp ...
-- by javaest -
jquery + json + springMV ...
自定义你的VIEW层,比这个写的更简单
-- by liuzongan -
jquery + json + springMV ...
呵,比我的做法好多了.我直接定义了一个新的返回的 ModelAndView .然 ...
-- by zhouzhao21






评论排行榜