编程学习就是一个不断填坑的过程大哭
今天遇到request.getParameter()获取空值的情况,各种查,最后终于找到原因,问题解决掉了!
说白了就是pageEncoding和charset的用法不同,以下是它们的区别:
pageEncoding表示这个页面接收到参数以什么字符集来编码,charset为指定此页面的编码方式。前者指明了此页面对request里的参数如何编码,后者指明了如何对本页面里的字符如何编码。
上源码:
parameter_1.jsp
<%@ page contentType="text/html;charset=GB2312"%>
<html>
<head>
<title>jsp:parameter动作</title></head>
<body>
<jsp:include page="parameter_2.jsp" flush="true">
<jsp:param name="username" value="Tom" />
<jsp:param name="password" value="123"/>
</jsp:include>
</body>
</html>
parameter_2.jsp
<%@ page contentType="text/html" ****pageEncoding="UTF-8"**** %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>jsp:parameter动作</title>
</head>
<body>
<hr>
用户名:<%=request.getParameter("username")%><br>
密码:<%=request.getParameter("password")%>
<hr>
</body>
</html>
parameter_2.jsp中的pageEncoding=”UTF-8”千万不要写成charset,否则就会获取到空值。