`
cuilji
  • 浏览: 68883 次
  • 性别: Icon_minigender_1
  • 来自: 本溪
社区版块
存档分类
最新评论

Spring MVC 与 Ajax

阅读更多
Spring Json View项目为Spring MVC扩展了Ajax功能

1.将spring-json.jar和sojo.jar文件放入类路径;

2.为spring mvc 配置支持Ajax的视图解析器:
<!-- View Resolver -->
<bean id="viewResolver"
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="viewClass">
			<value>org.springframework.web.servlet.view.JstlView</value>
		</property>
		<property name="prefix">
			<value>/WEB-INF/jsp/</value>
		</property>
		<property name="suffix">
			<value>.jsp</value>
		</property>
</bean>

<bean  name="xmlViewResolver" class="org.springframework.web.servlet.view.XmlViewResolver" >
		<property name="order" value="1"/>
</bean>

为什么是两个?一个给jsp用,另一个给需要将返回的model转换成Json字符串的Ajax视图用.

3.像为jsp编写控制器那样,该怎么写还怎么写:
public class SimpleJsonGetController implements Controller {
	
	private ProfileService profileService;
	public void setProfileService(ProfileService profileService) {
		this.profileService = profileService;
	}

	@Override
	public ModelAndView handleRequest(HttpServletRequest arg0,
			HttpServletResponse arg1) throws Exception {
		String roleId=(arg0.getParameter("roleId")!= null)?arg0.getParameter("roleId"):"1";
		List select2=profileService.getRemainedTopicsByRole(Integer.parseInt(roleId));
		List select3=profileService.getTopicsByRole(Integer.parseInt(roleId));
		HashMap map=new HashMap();
		map.put("select2", select2);
		map.put("select3", select3);
//map->json的转换是自动的
		return new ModelAndView("hello",map);
	}



4.jsp 文件中引用的js文件如下:
$(document).ready(function(){
    //jQuery test   
	$("a").click(function(event){
         alert("as you can see, the link no longer took you to jquery.com");
         event.preventDefault();
       });
	//button test
	   $('#getName').click(function(){	
		$.getJSON('hello.htm', function(data) {
		$('#username').html( data.username );		
		$('#selectfrom').empty();
		var users = data.users;
		$.each(users,function(index,value){
			$("#selectfrom")[0].options.add(new Option(value.username,value.userId,false,false));
		});
		
		});
     });
  
$('#select1').change(function() {
	var rid=$('#select1').val();
  $.getJSON('hello.htm?roleId='+rid, function(data) {
  $('#select2').empty();
  $('#select3').empty();
	var select2 = data.select2;
	var select3 = data.select3;
	$.each(select2,function(index,value){
			$("#select2")[0].options.add(new Option(value.topicName,value.topicId,false,false));
		});
	$.each(select3,function(index,value){
			$("#select3")[0].options.add(new Option(value.topicName,value.topicId,false,false));
		});
  });
});
//button click event
$('#authorize').click(function(){
$.post("profile.htm", $("#form1").serialize());
alert("OK");
});

});

Js程序调用hello.htm返回结果如下(控制器所返回的Json格式的模型map):
{"username":"张三","users":[{"username":"root","password":"spk321","userId":"43","roleId":"33"},{"username":"Spongebob","password":"hmbb123","userId":"44","roleId":"33"}]}
分享到:
评论
1 楼 xiaguobing 2012-06-20  
哥,好人做到底呗。求包啊!呵呵

相关推荐

    Spring MVC与Ajax交互源码

    Spring MVC与Ajax结合使用,可以实现更高效、更流畅的用户界面。例如,当用户在前端进行某些操作,如提交表单,我们可以使用Ajax发送POST请求到Spring MVC的Controller,Controller处理业务逻辑后,将结果以JSON或...

    spring mvc+ajax

    将Spring MVC与Ajax结合使用,可以实现页面的异步更新,提升用户体验,同时保持服务器负载均衡。 首先,我们需要理解Spring MVC的基本工作流程。当用户发起请求时,Spring MVC的DispatcherServlet会拦截这个请求,...

    Spring + Hibernate + Spring mvc +Ajax 整合

    Spring MVC与Ajax的结合则提高了用户体验。Ajax(Asynchronous JavaScript and XML)允许前端页面在不刷新整个页面的情况下与服务器进行异步通信。在Spring MVC中,可以通过配置Ajax处理器或使用jQuery等库来实现...

    Spring3 MVC Ajax with JSON

    **Spring3 MVC与Ajax结合使用JSON** 在现代Web开发中,Spring框架的MVC模块与Ajax和JSON的集成是创建动态、响应式用户界面的关键技术。这个"Spring3 MVC Ajax with JSON"项目提供了一个Eclipse工程,包含了实现这一...

    spring mvc+ajax 导出导入xml文件功能实现和整理

    总结来说,本文详细介绍了Spring MVC与Ajax技术结合使用来实现文件导入导出功能的过程,重点强调了在前后端交互过程中对于文件类型校验、上传方式选择以及安全性考虑的重要性,并且对相关代码段进行了分析和讲解。...

    spring第11章--ajax,上传下载,拦截器.rar_spring mvc_spring 下载_spring 使用ajax

    在Spring MVC框架中,Ajax(Asynchronous JavaScript and XML)是一种常用的技术,用于在不刷新整个页面的情况下与服务器进行异步通信。本章将探讨如何在Spring MVC中集成和使用Ajax,以及涉及的上传和下载功能,...

    Spring mvc+Ajax用户登录增删改查功能

    **Spring MVC + Ajax 用户登录增删改查功能详解** 在Web开发中,Spring MVC和Ajax是两种非常重要的技术。Spring MVC作为Spring框架的一部分,提供了一种模型-视图-控制器的架构模式,使得开发者能够更好地组织和...

    spring mvc+ajax 文件上传

    本示例探讨的是如何利用Spring MVC后端框架与前端的Ajax技术来实现高效的文件上传,相较于传统的表单提交方式,这种方法具有无刷新、用户体验更佳的优势。以下是关于这个主题的详细讲解。 首先,我们需要理解Spring...

    一个实用了spring mvc和ajax异步请求的例子

    在IT行业中,Spring MVC和Ajax是两种非常关键的技术,它们在构建现代Web应用程序时发挥着重要作用。本示例将深入探讨如何将这两种技术结合起来实现异步数据交互。 首先,Spring MVC是Spring框架的一个模块,主要...

    Spring MVC 教程快速入门 深入分析

    十五、Spring MVC处理ajax请求:讲解了如何在Spring MVC中处理异步JavaScript和XML(AJAX)请求,包括配置和控制器中的代码实现。 十六、Spring MVC关于写几个配置文件的说明:介绍了在Spring MVC项目中需要配置...

    mvc-ajax.rar_spring mvc

    在本示例中,“mvc-ajax.rar_spring mvc”是一个包含使用Ajax技术与Spring MVC集成实现账号添加功能的项目。让我们深入探讨这个主题。 首先,Spring MVC是Spring框架的一个组件,专门用于处理Web应用程序的请求和...

    maven与spring MVC

    【标题】"maven与spring MVC"涉及到的是Java Web开发中的两个关键组件——Maven和Spring MVC,它们在构建和管理复杂项目时起着至关重要的作用。Maven是一个项目管理和综合工具,它通过提供一个标准化的构建过程和...

    spring mvc 自學筆記

    ### Spring MVC 与 AJAX/JSON #### 使用 JSON 和 AJAX 在 Spring MVC 中,可以轻松地与 AJAX 结合,实现异步数据交换。对于 JSON 数据的处理,Spring 提供了内置的支持。 - **使用 `@RequestBody` 和 `@...

    Spring MVC入门教程

    十五、spring mvc 处理ajax请求 十六、spring mvc 关于写几个配置文件的说明 十七、spring mvc 如何取得Spring管理的bean 十八、spring mvc 多视图控制器 十九、 &lt;mvc:annotation-driven /&gt; 到底做了什么工作 二十、...

    spring-mvc-jsonview源代码

    二、Spring MVC与AJAX的结合 AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下更新部分网页的技术。Spring MVC通过使用DispatcherServlet和HandlerMapping,可以处理异步的AJAX请求。...

    Spring MVC 教程 快速入门 深入分析

    十五、spring mvc 处理ajax请求 十六、spring mvc 关于写几个配置文件的说明 十七、spring mvc 如何取得Spring管理的bean 十八、spring mvc 多视图控制器 十九、 &lt;mvc:annotation-driven /&gt; 到底做了什么工作

    Spring MVC跟jQuery和Twitter Bootstrap的结合

    通过Ajax,jQuery可以与后台Spring MVC控制器进行无刷新的数据交互,提升用户体验。 **Twitter Bootstrap 的引入** Twitter Bootstrap 是一个流行的前端开发框架,提供了响应式布局、预定义的CSS样式、JavaScript...

    Spring3MVC+ajax

    **Spring3 MVC与Ajax整合详解** 在Web应用开发中,Spring3 MVC框架和Ajax技术的结合使用能够极大地提升用户体验,实现页面的无刷新更新。本文将深入探讨如何在Spring3 MVC项目中集成Ajax,以便更好地理解这两者的...

Global site tag (gtag.js) - Google Analytics