创建订单页:订单页包含User信息。
package com.student.po;
public class Orders {
private Integer ordersId;
private User user;
public Integer getOrdersId() {
return ordersId;
}
public void setOrdersId(Integer ordersId) {
this.ordersId = ordersId;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
控制类:
package com.student.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.student.po.Orders;
import com.student.po.User;
@Controller
public class OredersController {
@RequestMapping("/tofindOrdersWithUser")
public String tofindOrdersWithUser() {
return "orders";
}
@RequestMapping("/findOrdersWithUser")
public String findOrderWithUser(Orders orders) {
Integer orderId = orders.getOrdersId();
User user= orders.getUser();
String username = user.getUsername();
System.out.println(orderId);
System.out.println(username);
return "success";
}
}
order.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>订单查询</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/findOrdersWithUser" method="post">
订单编号:<input type="text" name="ordersId" /><br/>
所属用户: <input type="text" name="user.username" /><br/>
<input type="submit" value="查询" />
</form>
</body>
</html>
l浏览器输入:http://localhost:8080/work13//tofindOrdersWithUser

当输入 1234
与 4321时
点击查询结果页面显示:OK
控制台显示:1234 4321
再次输入:1234 和小雪
控制台输出:
1234
4321
1234
?°?é??
看出出现中文乱码:
Spring提供了中文过滤器。需要在web.xml中增加代码。
<!-- 配置编码过滤器 -->
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<!-- 配置环境为UTF-8 -->
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<!-- 拦截所有请求交给CharacterEncodingFilter进行处理 -->
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


此时我们发现不会出现中文乱码了。
浙公网安备 33010602011771号