`
zghorse
  • 浏览: 2530 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

spirng mvc3 jqgrid 无法正确返回数据到表格

阅读更多
WEB.XML

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	
	  <servlet>
  	<servlet-name>RFADispatcher</servlet-name>
  	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  	<init-param>
  		<param-name>contextConfigLocation</param-name>
  		<param-value>classpath*:springcfg/applicationContext-mvc.xml</param-value>
  	</init-param>
  	<load-on-startup>1</load-on-startup>
  </servlet>
  
  <servlet-mapping>
  	<servlet-name>RFADispatcher</servlet-name>
  	<url-pattern>*.do</url-pattern>
  </servlet-mapping>
  
  <!-- 工程编码过滤器 -->
  <filter>
  	<filter-name>characterEncodingFilter</filter-name>
  	<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  	<init-param>
  		<param-name>encoding</param-name>
  		<param-value>UTF-8</param-value>
  	</init-param>
  </filter>
  
  <filter-mapping>
  	<filter-name>characterEncodingFilter</filter-name>
  	<url-pattern>/*</url-pattern>
  </filter-mapping>
  	
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>


application-mvc.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xmlns:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:jdbc="http://www.springframework.org/schema/jdbc"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xsi:schemaLocation="   
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd   
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
    http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

	<import resource="applicationContext.xml"/>

	<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
	 	
	<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
		<property name="messageConverters">  
			<list>  
		  	<ref bean="mappingJacksonHttpMessageConverter" /><!-- json转换器 -->  
		  	<bean class="org.springframework.http.converter.StringHttpMessageConverter">
		  		<property name="supportedMediaTypes">
		  			<list>
		  				<value>text/html;UTF-8</value>
		  			</list>
		  		</property>
		  	</bean>
			</list>  
		</property>
	</bean>
	 	
	<bean name="mappingJacksonHttpMessageConverter" 
		class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" />
		
	<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />
	 	
	<bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter" />
     
	<!-- enable component scanning (beware that this does not enable mapper scanning!) -->    
	<context:component-scan base-package="com.das.casit.rfa.controller.speed">
  	<context:include-filter type="annotation" expression="org.aspectj.lang.annotation.Aspect" />  
	</context:component-scan>

	<mvc:annotation-driven/>
	
	<!-- enable autowire -->
	<context:annotation-config />
    
	<!-- enable transaction demarcation with annotations -->
	<tx:annotation-driven />
	
	<!-- 跳转视图配置 -->
	
	<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/" />
		<property name="suffix" value=".jsp" />
	</bean>
	
	<!-- 
		设置全局异常处理方式。!注意,如果使用XML配置了异常处理方式,
		那么使用Annotation处理异常的方式将不再被使用。 
	-->
	
	<bean name="exceptionResolver" 
	      class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
		<property name="exceptionMappings">
			<props>
				<!-- 这里的errorPage同样应用viewResolver的前缀、后缀匹配 -->
				<prop key="java.lang.Exception">errorPage</prop>
			</props>
		</property>
	</bean>
	
</beans>


application.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
		http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd">

	<import resource="applicationContext-bean.xml"/>
	
	<!-- ============================== 数据库配置 ==================================== -->
	<!-- 数据源配置 -->
	<bean id="dataSource"
		class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName">
			<value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value>
		</property>
		<property name="url">
			<value>jdbc:sqlserver://localhost:1433;DatabaseName=ihToSql;SelectMethod=cursor</value>
		</property>
		<property name="username">
			<value>hydas</value>
		</property>
		<property name="password">
			<value>!Hcf@2009</value>
		</property>
	</bean>
	
	<!-- ================================= 事务控制相关 ============================================= -->
   	<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">   
    	<property name="dataSource" ref="dataSource"></property>
 	</bean> 
	
	<!-- ================================ MyBatis SqlSession配置 ========================================= -->
	<!-- 使用SqlSessionFactoryBean工厂产生SqlSession对象,方便后期注入Dao -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="configLocation" value="classpath:myBatiscfg/Configuration.xml"></property>
	</bean>
	
</beans>


UserModel.java
package com.das.casit.rfa.controller.speed;

/**
 * @author Administrator
 * 
 */
public class UserModel {
	private String id;
	private String username;
	private int age;

	/**
	 * @return the id
	 */
	public String getId() {
		return id;
	}

	/**
	 * @param id the id to set
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * @return the username
	 */
	public String getUsername() {
		return username;
	}

	/**
	 * @param username the username to set
	 */
	public void setUsername(String username) {
		this.username = username;
	}

	/**
	 * @return the age
	 */
	public int getAge() {
		return age;
	}

	/**
	 * @param age the age to set
	 */
	public void setAge(int age) {
		this.age = age;
	}
}


DemoController.java
/**
 * 
 */
package com.das.casit.rfa.controller.speed;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping("/speed")
public class DemoController {
	private Logger logger = LoggerFactory.getLogger(DemoController.class);

	@RequestMapping(value = "/list", method = RequestMethod.GET)
	@ResponseBody
	public Map<String, Object> getUserList() {
		logger.info("�б�");
		List<UserModel> list = new ArrayList<UserModel>();
		UserModel um = new UserModel();
		um.setId("1");
		um.setUsername("sss");
		um.setAge(222);
		list.add(um);
		Map<String, Object> modelMap = new HashMap<String, Object>(3);
		modelMap.put("total", "1");
		modelMap.put("data", list);
		modelMap.put("success", "true");
		return modelMap;
	}

	@RequestMapping(value = "/add", method = RequestMethod.POST)
	@ResponseBody
	public Map<String, String> addUser(@RequestBody UserModel model) {

		Map<String, String> map = new HashMap<String, String>(1);
		map.put("success", "true");
		return map;
	}
}



index.jsp
<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Script-Type" content="text/html; charset=UTF-8" />
<title>Spring MVC</title>
		<script src="../jsLib/jqGrid/js/jquery-1.5.2.min.js" type="text/javascript"></script>
		<script src="../jsLib/jqGrid/js/i18n/grid.locale-cn.js" type="text/javascript"></script>
		<script src="../jsLib/jqGrid/js/jquery.jqGrid.min.js" type="text/javascript"></script>	
		<script type="text/javascript" src="index.js"></script>
</head>
<body>
<div id="info"></div>
<form action="add" method="post" id="form">
编号:<input type="text" name="id"/>
姓名:<input type="text" name="username"/>
年龄:<input type="text" name="age"/>

<input type="button" value="提交" id="submit"/>
</form>
</body>
</html>


index.js
$.fn.serializeObject = function() {
	var o = {};
	var a = this.serializeArray();
	$.each(a, function() {
		if (o[this.name]) {
			if (!o[this.name].push) {
				o[this.name] = [ o[this.name] ];
			}
			o[this.name].push(this.value || '');
		} else {
			o[this.name] = this.value || '';
		}
	});
	return o;
};

$(document).ready(
		function() {
			alert("here");
			jQuery.ajax( {
				type : 'GET',
				contentType : 'application/json',
				url : 'user/list',
				dataType : 'json',
				success : function(data) {
					if (data && data.success == "true") {
						$('#info').html("共" + data.total + "条数据。<br/>");
						$.each(data.data, function(i, item) {
							$('#info').append(
									"编号:" + item.id + ",姓名:" + item.username
											+ ",年龄:" + item.age);
						});
					}
				},
				error : function() {
					alert("error")
				}
			});
			$("#submit").click(function() {
				var jsonuserinfo = $.toJSON($('#form').serializeObject());
				alert(jsonuserinfo);
				jQuery.ajax( {
					type : 'POST',
					contentType : 'application/json',
					url : 'user/add',
					data : jsonuserinfo,
					dataType : 'json',
					success : function(data) {
						alert("新增成功!");
					},
					error : function(data) {
						alert("error")
					}
				});
			});
		});


运行结果如下图所示,




使用Chrome调试时,提示信息如下:

Resource interpreted as Document but transferred with MIME type application/json.

还没有找到解决办法,嘿嘿
  • 大小: 7.5 KB
分享到:
评论

相关推荐

    Spring MVC 分页组件和JqGrid导出

    在Spring MVC项目中,我们通常会通过Ajax请求从后台获取数据,然后使用JqGrid的JSON或CSV数据源来渲染表格。JqGrid的配置灵活,可以定制列模型、工具栏、行事件等,满足各种需求。 现在,我们转向JqGrid的导出功能...

    jQuery Spring MVC

    3. **创建控制器**:编写一个处理请求的Spring MVC控制器,该控制器返回JSON数据,这些数据将被jqGrid用来填充表格。可以使用`@ResponseBody`注解和`@RequestMapping`来处理Ajax请求。 4. **编写HTML和JavaScript**...

    struts1-hibernate-spring框架中jqgrid页面生成详解

    在Struts1、Hibernate、Spring(S1SH)框架中集成jqGrid,可以实现动态、交互式的表格展示,便于数据的检索、分页和编辑。jqGrid是一个强大的JavaScript库,用于构建功能丰富的表格,它提供了丰富的配置选项和API,...

    jqgrid行编辑+动态为其他列赋值

    在IT行业中,jqGrid是一个非常流行的JavaScript库,用于创建数据密集型Web应用程序,特别是用于展示和操作表格数据。jqGrid提供了丰富的功能,包括排序、筛选、分页以及行编辑等。在本例中,我们将深入探讨如何实现...

    jqgrid and java

    Spring MVC提供了一种模型-视图-控制器的架构模式,可以方便地处理HTTP请求并返回JSON或XML格式的数据,这些数据正是jqGrid所需要的。例如,`spring-webmvc.jar`是Spring MVC的核心库,包含了处理HTTP请求、视图解析...

    jqGrid整合Java SSH框架实例

    5. 响应前端:Struts2 Action将处理结果通过ActionResult返回给前端,jqGrid根据返回的JSON数据自动填充表格。 **6. 示例代码** ```java // Struts2 Action public class JqGridAction extends ActionSupport { ...

    ssh+jqgrid的整合

    JQGrid是一款基于jQuery的前端数据网格插件,提供了丰富的表格操作功能,如分页、排序、过滤、编辑等,为用户界面带来优秀的交互体验。 在SSH框架中整合JQGrid,主要目的是在后台处理数据的同时,提供一个前端用户...

    jqgrid+三大框架

    【jqgrid+三大框架】是将前端数据展示组件jqGrid与经典的Java后端开发框架——Hibernate、Struts和Spring相结合的应用实例。这个项目基于MyEclipse2014开发环境,主要目标是实现数据的查询功能并通过jqGrid进行前端...

    JqGrid项目(java web)

    Struts2与JqGrid结合,可以通过自定义Action类处理JqGrid的AJAX请求,返回JSON或XML格式的数据,以更新表格内容。 其次,"Spring"在此项目中主要扮演服务层和依赖注入的角色。Spring框架是一个全面的后端解决方案,...

    ssh+jqGrid的项目

    jqGrid支持分页、排序、过滤、编辑和搜索等多种功能,能实现表格数据的动态加载。在本项目中,jqGrid被用作前端界面,显示联系人管理的数据。用户可以通过界面轻松地浏览、添加、编辑和删除联系人,同时享受到良好的...

    springmvc+bootstrap+jsqumbile

    这三个技术是构建现代Web应用的常见组合,Spring MVC用于后端处理,Bootstrap用于前端美化,jqGrid则用于表格数据的交互展示。 Spring MVC是Spring框架的一部分,它是一个模型-视图-控制器(MVC)架构模式的实现,...

    jqgrid servlet demo

    例如,Servlet可以通过解析请求参数,查询数据库并返回JSON格式的数据,这些数据会被jqGrid解析并显示在表格中。 以下是一些关键步骤: 1. **引入依赖**:在项目中添加jqGrid的JavaScript库和CSS文件,确保在HTML...

    jqGrid与java简单的增删改查

    jqGrid是一款功能强大的JavaScript表格插件,用于在Web应用中展示和操作数据。它支持网格布局,提供了分页、排序、过滤、编辑等...同时,你也可以利用其他框架,如Spring MVC或Struts2,来简化前后端交互和数据处理。

    金蝶WAF2平台问题

    总结起来,这个场景涉及到了使用jqGrid进行前端表格操作,后台数据处理和JSON数据传输,以及前端对JSON数据的解析和展示。这些技术都是在Web应用开发中常见的,特别是在基于Java和JavaScript的环境中。理解这些概念...

    springboot-mybatisplus-stable-version.学习项目

    该项目名为"springboot-mybatisplus-stable-version",是一个基于Spring Boot、MyBatis Plus、Spring MVC、JSP、Shiro、Redis和JqGrid的学习项目。它涵盖了多个技术栈,旨在帮助学习者掌握现代Java Web开发的核心...

    Spring+SpringMVC+Ehcache+Shiro+BootStrap企业级开发平台

    【B1】Spring+SpringMVC+Ehcache+Shiro+BootStrap企业级开发平台源码下载 内置功能 用户管理 角色管理 菜单管理 ... 数据表格:jqGrid 树结构控件:jQuery zTree 弹出层:Layer 日期控件: LayDate

    SpringBlog:SpringBlog 项目表格 proSpring3.pdf

    Spring MVC、JSP、jQuery、jQueryUI、jqGrid、CKEditor RESTful-WS 春批 弹簧集成 目的 主要目的是展示本书中讨论的主题。 另一方面,它可以作为开发人员使用最新版本的 Spring Framework 和相关工具构建 JEE ...

Global site tag (gtag.js) - Google Analytics