首页 > 代码库 > SpringMVC框架下实现JSON(类方法中回传数据到jsp页面,使用jQuery方法回传)

SpringMVC框架下实现JSON(类方法中回传数据到jsp页面,使用jQuery方法回传)

JSON的实现,即将需要的数据回传到jsp页面;
 1>.加入实现Json的三个架包到lib中;
2>.目标方法上边加入注解,需要返回的值
3>.在jsp页面中书写jQuery方法;

eclipse中javaEE环境下的web.xml文件配置为:

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">       <!-- 配置SpringMVC的DispatcherServlet -->    <servlet>        <servlet-name>springDispatcherServlet</servlet-name>        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>        <init-param>            <param-name>contextConfigLocation</param-name>            <param-value>classpath:springmvc.xml</param-value>        </init-param>        <load-on-startup>1</load-on-startup>    </servlet>    <servlet-mapping>        <servlet-name>springDispatcherServlet</servlet-name>        <url-pattern>/</url-pattern>    </servlet-mapping>      <!-- 配置 HiddenHttpMethodFilter: 把 POST 请求转为 DELETE、PUT 请求 -->      <filter>          <filter-name>HiddenHttpMethodFilter</filter-name>          <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>      </filter>            <filter-mapping>          <filter-name>HiddenHttpMethodFilter</filter-name>          <url-pattern>/*</url-pattern>      </filter-mapping>  </web-app>

 

spring的bean的配置文件为:springmvc.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"    xmlns:mvc="http://www.springframework.org/schema/mvc"    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">        <!-- 配置自动扫描的包 -->    <context:component-scan base-package="com.atguigu.springmvc"></context:component-scan>        <!-- 配置视图解析器 -->    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <property name="prefix" value="http://www.mamicode.com/WEB-INF/views/"></property>        <property name="suffix" value="http://www.mamicode.com/.jsp"></property>    </bean>        <!--          default-servlet-handler 将在 SpringMVC 上下文中定义一个 DefaultServletHttpRequestHandler,        它会对进入 DispatcherServlet 的请求进行筛查, 如果发现是没有经过映射的请求, 就将该请求交由 WEB 应用服务器默认的         Servlet 处理. 如果不是静态资源的请求,才由 DispatcherServlet 继续处理        一般 WEB 应用服务器默认的 Servlet 的名称都是 default.        若所使用的 WEB 服务器的默认 Servlet 名称不是 default,则需要通过 default-servlet-name 属性显式指定            -->    <mvc:default-servlet-handler/>        <!-- 一般都会配置这个 <mvc:annotation-driven ></mvc:annotation-driven>,    由于。。。requestmapping请求实现不了,使用这个,会使requestmapping请求一定实现    -->    <mvc:annotation-driven></mvc:annotation-driven>    </beans>

 

EmployeeDao类:

package com.atguigu.springmvc.crud.dao;import java.util.Collection;import java.util.HashMap;import java.util.Map;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Repository;import com.atguigu.springmvc.crud.entities.Department;import com.atguigu.springmvc.crud.entities.Employee;@Repository//标识持久层组件public class EmployeeDao {        private static Map<Integer, Employee> employees=null;        @Autowired    private DepartmentDao departmentDao;    static{        employees=new HashMap<Integer, Employee>();                employees.put(1001, new Employee(1001, "E-AA", "aa@163.com", 1, new Department(101, "D-AA")));        employees.put(1002, new Employee(1002, "E-BB", "bb@163.com", 1, new Department(102, "D-BB")));        employees.put(1003, new Employee(1003, "E-CC", "cc@163.com", 0, new Department(103, "D-CC")));        employees.put(1004, new Employee(1004, "E-DD", "dd@163.com", 0, new Department(104, "D-DD")));        employees.put(1005, new Employee(1005, "E-EE", "ee@163.com", 1, new Department(105, "D-EE")));    }        private static Integer initId=1006;        //添加数据的方法    public void save(Employee employee){        if(employee.getId()==null){            employee.setId(initId++);        }                employee.setDepartment(departmentDao.getDepartment(employee.getDepartment().getId()));        employees.put(employee.getId(), employee);    }        //获取全部的数据的方法    public Collection<Employee> getAll(){        return employees.values();    }        //获取集合中的一个数据    public Employee getEmployee(Integer id){        return employees.get(id);    }        //删除集合中的一个数据    public void delect(Integer id){        employees.remove(id);    }}

 

实现的handler 类方法:SpringMVCTest:

@Controllerpublic class SpringMVCTest {        @Autowired    private EmployeeDao employeeDao;/*     * JSON的实现,即将需要的数据回传到jsp页面;     * 1>.加入实现Json的三个架包到lib中;     * 2>.目标方法上边加入注解,需要返回的值     * 3>.在jsp页面中书写jQuery方法;     * */    @ResponseBody    @RequestMapping("/testJson")    public Collection<Employee> testJson(){        return employeeDao.getAll();    }        }

 

jsp页面:index.jsp;需要导入jQuery架包,并且用jQuery方法,实现数据回显到jsp页面;点击

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title><script type="text/javascript" src="http://www.mamicode.com/scripts/jquery-1.9.1.min.js"></script><script type="text/javascript">    $(function(){        $("#testJson").click(function(){            var url=this.href;            var args={};                        $.post(url,args,function(data){                for(var i=0;i<data.length;i++){                    var id=data[i].id;                    var lastName=data[i].lastName;                    alert(id+":"+lastName);                }            });        });    })        </script></head><body>            <a href="http://www.mamicode.com/testJson" id="testJson">Test Json</a>    <br><br>    </body></html>

 

SpringMVC框架下实现JSON(类方法中回传数据到jsp页面,使用jQuery方法回传)