SpringMVC参数传递:把内容写到方法(HandlerMethod)参数中,SpringMVC只要有这个内容,则会注入,在这里使用注解的方式来传递参数
1.在jsp文件中设置提交动作
2.解决字符编码问题。
在web.xml中来新增字符编码过滤器
encoding
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
encoding
/*
3.在相应的spring控制器中执行相应动作名的适配器方法来响应
可以传递基本数据类型、对象、集合等,传递对象时要与类中参数名相对应。
(1)默认情况下参数名一样即可保证参数传递一致
package com.likui.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.filter.CharacterEncodingFilter;
@Controller
public class DemoController {
@RequestMapping("demo")
public String demo(String name,int age,HttpServletRequest res,
HttpSession session) {
System.out.println("demo"+name+" "+age);
res.setAttribute("test", "test");
return "main.jsp";
}
}
(2)对于参数名不同的情况:
只需要在Maping对应的方法中填写注解RequestParam的value值即可。下面的name值为index.jsp中对应为name2属性值
@RequestMapping("demo")
public String demo(@RequestParam(value="name2") String name,int age,HttpServletRequest res,
HttpSession session) {
System.out.println("demo"+name+" "+age);
res.setAttribute("test", "test");
return "main.jsp";
}
(3)默认值采取注解
@RequestParam(defaultValue="18")
(4)必须要填写值
@RequestParam(required=true,defaultValue="18")
4.jsp文件设置提交跳转
index.jsp文件动作为demo
pageEncoding="UTF-8"%>
Insert title herehello springmvc!
main.jsp文件
pageEncoding="UTF-8"%>
Insert title herehello main!
${test }
5.执行结果
在index.jsp中输入结果后点击提交,会交给控制器中demo适配器来解决,在这里面传递参数并返回到视图main.jsp