在 JSP 动作元素: <jsp:include> 或是 <jsp:forward> 配合 <jsp:param> 时,显示参数值时,如果
参数为中文时,会出现乱码的现象。尽管页面的编码都设置正确的情况下,也一样会出现乱码
解决办法,在执行 改变 request 的设置编码,如
- <%@ page language="java" contentType="text/html;charset=UTF-8" %>
- <html>
- <head><title>jsp include测试页</title></head>
- <body>
- <%
- request.setCharacterEncoding("UTF-8") ; //这句是关键所在
- %>
- <h3>jsp include 指令测试</h3>
- <jsp:include page="forward-result.jsp">
- <jsp:param name="age" value="32" />
- <jsp:param name="username" value="张三" />
- </jsp:include>
- </body>
- </html>
- forward-result.jsp
- <%@ page language="java" contentType="text/html;charset=UTF-8" %>
- <html>
- <head><title>forward的结果页</title></head>
- <body>
- 年龄:<%=request.getParameter("age")%><br />
- 姓名:<%=request.getParameter("username") +"--11"%>
- </body>
- </html>