springMVC參數傳遞
阿新 • • 發佈:2019-03-16
oca text 過濾器 fontsize UNC oct ng- 跳轉 form
return “addUser” 表示返回addUserjsp(詳細配置時spring-servlet.xml的配置)
通過改動tomcat的server.xml文件。加入URIEncoding也能夠解決通過get方式提交的參數
本文是本人在學習網絡視屏springMVC的過程中的學習筆記。
為了更便於理解我決定從實際使用的角度解釋。
我們在瀏覽器輸入地址
http://localhost:8080/springMVC6/user/data/toUser
界面例如以下:
此時後臺是跳轉到以下class的toUser方法的
package com.tgb.web.controller.annotation; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; @Controller @RequestMapping("/user/data") public class DataController { @RequestMapping(value="/addUser") public String addUser(String userName,String age,HttpServletRequest request){ request.setAttribute("userName", userName); request.setAttribute("age", age); String result ="this is addUser------"; return "userManager"; } @RequestMapping(value="/delUser") public String delUser(){ String result ="this is delUser------"; return ""; } @RequestMapping(value="/toUser") public String toUser(){ return "addUser"; } }
return “addUser” 表示返回addUserjsp(詳細配置時spring-servlet.xml的配置)
addUser.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <script type="text/javascript" src="../js/jquery-1.7.1.min.js"></script> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <script type="text/javascript"> function addUser(){ var form = document.forms[0]; form.action = "/springMVC6/user/data/addUser"; form.method="post"; form.submit(); } </script> </head> <body> <h>加入用戶</h> <form action=""> 姓名:<input type="text" name="userName"/> 年齡:<input type="text" name="age"/> <input type="button" value="加入" onclick="addUser()"> </form> </body> </html>
當在界面輸入“斯蒂芬”,點擊“加入”,會調用/springMVC6/user/data/addUser,而此路徑相應的是DataController的addUser方法。此方法通過request獲取參數。
特別註意:
再輸入中文的時候,後臺接收回出現亂碼。
這個時候須要在web.xml中配置字符過濾器
<!-- 強制轉碼 防止亂碼出現 start --> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <!-- 對那些文件轉碼 --> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 強制轉碼 防止亂碼出現 end -->
通過改動tomcat的server.xml文件。加入URIEncoding也能夠解決通過get方式提交的參數
<Connector URIEncoding="UTF-8" port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
springMVC參數傳遞