实验内容:
1、SpingMVC参数绑定,接受地址栏和表单传递的值。练习实例,并体会工作原理。
2、教材中的参数绑定的list和map类型的数据,拦截器以及文件上传,不做要求。大家根据兴趣自己练习。
实验步骤:
1、参数绑定
(1)url地址栏参数传递与绑定
- 体会通过url地址栏参数的传递原理
- 选做:练习教材 p177
url.jsp
<body>
<a href="url?Uid=8">传递id参数</a>
</body>
-------------------------------------------------
UidController.java
package controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class UidController {
@RequestMapping("url")
public ModelAndView getUrlid(Integer Uid){
ModelAndView mav= new ModelAndView("urlid");
System.out.println(Uid); //会输出到控制台,不是jsp页面中
mav.addObject("aa", Uid);
mav.setViewName("urlid");
return mav;
}
}
-------
urlid.jsp
(2)表单参数的传递与绑定
- 可以练习how2j,练习传递表单元素的值并显示(相对简单,难度指数1,只需要获取并显示)。Spring MVC系列教材 (四)- 接受表单数据
- 可以练习如下注册案例(注册的表单传递的值有单值和多值的情况,重点体会多值的传递和使用,难度指数2)
- 可以练习教材p179的案例(教材的案例相对复杂,获取值以后还要进行查询,难度指数3)
reg.jsp
<form action="regsubmit" method="post">
姓名:<input type="text" name="name" /> <br/>
性别:<input type="text" name="xingbie" /> <br/>
爱好:
<input type="checkbox" name="hobby" value="football" />足球
<input type="checkbox" name="hobby" value="bascketball" />蓝球
<input type="checkbox" name="hobby" value="dance" />跳舞
<input type="checkbox" name="hobby" value="sing" />唱歌<br/>
<input type="submit" value="注册" />
</form>
RegController.java
package controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import pojo.Reg;
@Controller
public class RegController {
@RequestMapping("/regsubmit")
public ModelAndView reg(Reg reg){
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("reglist");
return modelAndView;
}
}
---------------------------
Reg.java
package pojo;
public class Reg {
public String name;
public String xingbie;
public String[] hobby;
public String hobbys;
public String getHobbys() {
hobbys="";
for(int i=0;i<hobby.length;i++)
{
hobbys+=hobby[i]+" ";
}
return hobbys;
}
public void setHobbys(String hobbys) {
this.hobbys = hobbys;
}
public String[] getHobby() {
return hobby;
}
public void setHobby(String[] hobby) {
this.hobby = hobby;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getXingbie() {
return xingbie;
}
public void setXingbie(String xingbie) {
this.xingbie = xingbie;
}
}
------------------
reglist.jsp
<%@ page language="java" import="java.sql.*"
contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
body {font-size:30px;}
</style>
</head>
<body>
姓名:${reg.name }<br />
性别:${reg.xingbie }<br />
爱好:${reg.hobbys}
</body>
</html>
3、练习