Struts2框架JSP页面传输中文乱码问题解决
Action代码
package com.zxc.action;import java.net.URLEncoder;public class XiaoZAction {
private String username; public String getUsername() { return username; }
public String execute() throws Exception{
username = URLEncoder.encode("周小川", "utf-8"); return "success"; }}
struts.xml代码
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="xzc" namespace="/test" extends="struts-default">
<action name="list" class="cn.itcast.action.XiaoZAction">
<result type="redirect">/xiaox.jsp?username=${username}</result>
</action>
</package>
</struts>
jsp页面代码
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@page import="java.net.URLDecoder"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'xiaox.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css" mce_href="styles.css">
-->
</head>
<body>
<%
byte[] b = request.getParameter("username").getBytes("ISO8859-1");
String a = new String(b,"utf-8");
%>
<%=URLDecoder.decode(a,"utf-8") %>
<form action="/xiaox">
username:<input type="text" name="xiaox">
</form>
</body>
</html>
相关文档:
Java代码:
package com.zhaipuhong.common.util;
import java.util.ArrayList;
import org.apache.log4j.Logger;
import javax.servlet.http.HttpServletRequest;
public class PageBean { & ......
在本篇文章中将使用过滤器进行编码转换、登陆验证、防站外提交的过程,为了演示,我把编码转换放在一个filter中,登陆验证和防站外提交放在另一个filter中,两个filter进行串联工作。
1、为了演示,先制作这两个filter
//这个filter是为了做编码转换,只要访问.jsp网页都要功过这个filter
/**类名:filter.Encoding
*作 ......
JSP(java server page)
JSP是服务器端运行的页面,JSP本事就是一个文档,他不仅可以包含静态的HTML代码,也可以包含动态的JAVA代码,服务器容器可以将JSP转换成Servlet发布,并接受请求。
Jsp文件只需放在应用文件下就可以了。
JSP例子:
<html>
<head& ......
注意:jsp:useBean动作,用表单为Bean的属性赋值时,也就是jsp:setProperty动作直接收请求中表单的信息为使用的Bean的属性进行赋值,也就是说jsp:useBean和jsp:setProperty不能够出现在为这个Bean的属性赋值的form表单的页面上。
JSP的异常处理
<%@page errorPage="xxx.jsp"%> 指定本页面出现异常后要转到的页面
& ......
//运行图:
//连接字符串
String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;
Class.forName(driverName).newInstance();
Connection connection=DriverManager.getConnection(url);
Statement statement = connection.createStatement();
//每页显示记录数
int PageSize ......