SpringMVC级联获取前台数据

来源:互联网 发布:网络咨询医生应聘技巧 编辑:程序博客网 时间:2024/05/19 05:33

所谓的SpringMVC级联获取前台数据,是指后台可以通过对象给其中的对象属性下的某个属性赋值。

如下所示,player类下有一个team对象属性:
这里写图片描述

这里写图片描述

我们可以在前端传递参数时,我们只需要使用Player来接收参数,就可以同时给player和team的某些属性赋值。


测试如下:

页面部分

<%@ page language="java" contentType="text/html; charset=UTF-8"    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" "http://www.w3.org/TR/html4/loose.dtd"><html><head><base href="<%=basePath%>"/><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Insert title here</title></head><body>    <form action="player/getParams">        球员姓名:<input type="text" name="pname" id="pname" /><br>        所属球队:<input type="text" name="team.tname" id="tname" /><br>        <input type="submit" value="提交"/>    </form></body></html>

注意点:

这里写图片描述
如果player类中Team属性名称为tm,则此处的name=”tm.tname”
如果player类中Team属性名称为team,而Team类中Tname为tn,则name=”team.tn”


后台Controller

package com.java.web;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import com.java.bean.Player;import com.java.service.IPlayerService;@Controller@RequestMapping("player")public class PlayerController {    @Autowired    IPlayerService pService;    //获取前端参数    @RequestMapping("getParams")    public String getParams(Player player){        System.out.println("player==="+player);        System.out.println("pname==="+player.getPname());        System.out.println("tname==="+player.getTeam());        return null;    }   }

运行结果:
当输入:
这里写图片描述
打印:
这里写图片描述


如果使用的是ajax时
页面参数对应如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"    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" "http://www.w3.org/TR/html4/loose.dtd"><html><head><base href="<%=basePath%>"/><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Insert title here</title></head><script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script><script type="text/javascript">function ajaxSubmit(){    var pname=$("#pname").val();    var tname=$("#tname").val();    alert("panme="+pname+",tname="+tname);    $.ajax({        url:"player/getParams",        data:{"pname":pname,"team.tname":tname},        type:"post",        success:function(data){            alert(111);        }    });}</script><body>    <form action="">        球员姓名:<input type="text" name="pname" id="pname" /><br>        所属球队:<input type="text" name="tname" id="tname" /><br>        <input type="button" value="提交button" onclick="ajaxSubmit()" /><br>    </form></body></html>

这里写图片描述

原创粉丝点击