当用表单传送中文的时候,必须设置编码方式,否则中文不能正确显示。
如: 用户从 index1.jsp 页面输入中文,把中文传到index2.jsp 显示。
index1.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="/JSP/index2.jsp" method="post">
名字:<input type="text" name="username"><br>
<input type="submit" value="submit">
</form>
</body>
</html>
注意编码要设置成 UTF-8
index2.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("username");
%>
<%=name %>
</body>
</html>
用request 这个内置对象的 setCharacterEncoding()来设置编码方式。(设置成UTF-8)
用request这风格内置对象的 getParameter() 方法来获取来自 index1.jsp的方法
效果:
当按下submit 时,就会从 index1.jsp 自动转到 index2.jsp