zoukankan      html  css  js  c++  java
  • spring mvc接收参数方式,json格式返回请求数据

    1 使用方法形参使用变量接收提交的数据

    2 在方法的形参中使用模型接收数据

    3 如果在提交的表单中有多个数据模型,需要创建一个新的Bean,里面的属性是要接收的对象变量。

    4 接收提交的日期字符串,转换成Date类型。需要使用@InitBinder来转换

    5 批量删除数据,使用数组接收要删除的id,在页面中使用相同name属性

    6 批量提交,如何接收数据?需要新建一个Bean,List或者LinkedList/ArrayList来接收。

    7 在两个不同的action方法之间执行转发。在return语句中使用"forward:other URL"

    8 在两个不同的action方法之间执行重定向。在return语句中使用"redirect:"

    二、前端和后端使用json格式传数据

    1 开发步骤

    1)引入json的jar包

    //json包
    jsonjackson-core-asl-1.9.2.jar
    jsonjackson-mapper-asl-1.9.2.jar

    2)配置json解析类,固定格式,usermvc.xml文件

    <!-- 开启扫描 -->
            <context:component-scan base-package="com.huitong.app3"></context:component-scan>
            
            <!-- json 配置 -->
            <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
                <property name="messageConverters">
                    <list>
                        <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
                    </list>
                </property>
            </bean>

    3)useraction控制器类中处理函数编写

    package com.huitong.app3;
    
    import java.util.Date;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    @Controller
    @RequestMapping(value="/user")
    public class UserAction {
        
        @RequestMapping(value="/getbean")
        public @ResponseBody User getUser(Model model) throws Exception{
            User user = new User();
            user.setId(1);
            user.setName("中国");
            user.setHiretime(new Date());
            
            System.out.println(user);
            
            return user;
        }
    
    }

    4)前端显示页面,jsontest.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        
        <title>My JSP 'jsontest.jsp' starting page</title>
        <script type="text/javascript" src="js/jquery-3.2.1.js"></script>
        
    
      </head>
      
      <body>
          <div style=" 600px; height: 400px;">
              <p><button id="btn">bean2json</button></p>
              <p><button id="btn">beanlist2json</button> </p>
              <p><button id="btn">map2json</button> </p>
          
          </div>
      
      </body>
      
      <script type="text/javascript">
          $(function(){
              $("div #btn:first").click(function(){
                  var url="${pageContext.request.contextPath}/user/getbean.action";
                  var data=null;
                  $.post(
                      url,
                      data,
                      function(backdata){
                          var hiretime = new Date(backdata.hiretime);
                          alert(hiretime.getFullYear() + "" + (hiretime.getMonth()+1) + "");
                      }
                  );
                  
              });
          })
      
      </script>
    </html>

    其他配置和之前说的相同,只是这次是用了注解方式,感觉更加简化了配置。

  • 相关阅读:
    Python: 通过 pip 安装第三方包后依然不能 import
    jar命令
    vim中删除^M
    Linux 非互联网环境安装依赖包
    安装rpm包时提示错误:依赖检测失败的解决方法
    python3.5安装
    yum配置安装 及报错
    统计数组元素出现的次数
    插入法排序
    选择法排序
  • 原文地址:https://www.cnblogs.com/zhaopengcheng/p/6850352.html
Copyright © 2011-2022 走看看