Spring mvc之提交表單

表單內容:
java

<body>
	<form action="user/login">
		<table>
			<tr>
				<td>用戶名:</td>
				<td><input type="text" name="userName" />
				</td>
				<td>密碼:</td>
				<td><input type="password" name="passWord" />
				</td>
			</tr>
			<tr>
				<td colspan="2"><input type="submit" value="login" name="login" /></td>
			</tr>

		</table>

	</form>
</body>

from標籤若是沒有定義method類型,默認是get, 今天配置mvc出現的問題是在jsp頁面傳過去的參數,獲取它的值時若是是中文會出現亂碼,也定義了字符集過濾器,後來才找出這個問題,原來是get請求致使的。web

過濾器能夠本身寫也能夠直接使用現有的如:org.springframework.web.filter.CharacterEncodingFilter ,而後再web.xml中添加如下代碼:spring

<!-- filter 字符串過濾器 -->
	<filter>
		<filter-name>characterEncodingFilter</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>


Controller中的代碼:mvc

@RequestMapping("/login")
	public String login(@ModelAttribute("user") TUser user) {
		
		try {
			TUser temp = userServer.login(user.getUserName, user.getPassWord());
			if (temp != null)
				return "success";
		} catch (Exception ex) {
                ex.printStackTrace();
		}

		return "error";
	}

ModelAttribute 是以對象的形式接受Post 過來的表單參數。app

另外還有如下方式:jsp

public String login(@RequestParam String username,@RequestParam String password) {
		System.out.println("username:"+username+" password"+password);
		TUser user=userServer.login(username, password);
		if(user!=null)
		 return "success";
		return "error";
	}

@RequestParam是請求參數,並且參數名必須是對應的username,passwordspa

相關文章
相關標籤/搜索