JavaBean解決中文亂碼實例

示例:用戶在index.jsp界面輸入信息並點擊提交,自動跳轉到show.jsp頁面,並顯示輸入的內容。

Students.java

package com.health;

public class Students {
	private String name;
	private String age;
	private String sex;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getAge() {
		return age;
	}

	public void setAge(String age) {
		this.age = age;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}
}

CharactorEncoding.java

package com.health;

import java.io.UnsupportedEncodingException;

public class CharactorEncoding {
	public CharactorEncoding() {}
	/**
	 * 對字符串進行處理
	 * @param str要轉碼的字符串
	 * @return 編碼後的字符串
	 */
	public String toString(String str)
	{
		String text = "";
		if(str!=null&&!"".equals(str)) {
			try {
				text = new String(str.getBytes("iso-8859-1"),"utf-8");
			} catch (UnsupportedEncodingException  e) {
				// TODO: handle exception
				e.printStackTrace();
			}
		}
		return text;
	}

}

index.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="show.jsp" method="post">
		<table>
			<tr>
				<td align="center" colspan="2" height="40"><b>個人信息發佈</b></td>
			</tr>
			<tr>
				<td>姓名:</td>
				<td><input type="text" name="name" size="30"></td>
			</tr>
			<tr>
				<td>年齡:</td>
				<td><input type="text" name="age" size="30"></td>
			</tr>
			<tr>
				<td>性別:</td>
				<td><input type="text" name="sex" size="30"></td>
			</tr>

			<tr>
				<td align="center" colspan="2"><input type="submit" value="提交"></td>
			</tr>
		</table>
	</form>
</body>
</html>

show.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>
	<jsp:useBean id="info" class="com.health.Students" />
	<jsp:useBean id="encoding" class="com.health.CharactorEncoding" />
	<jsp:setProperty property="*" name="info" />
	<div>
		姓名:<%=encoding.toString(info.getName())%><br> 
		年齡:<%=encoding.toString(info.getAge())%><br>
		性別:<%=encoding.toString(info.getSex())%>
	</div>
</body>
</html>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章