您的位置:首页 > 编程语言 > Java开发

struts2中文乱码

2016-01-28 21:36 295 查看
通过配置struts.xml中的常量 <constantname="struts.i18n.encoding=UTF-8" value="true"/>可以解决中文乱码。

注:该配置可以在文档中的struts.properties中可以找到。

index.jsp

<span style="font-size:18px;"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<!--此处使用了myeclipse中经常使用的basepath  -->
<base href="<%=basePath%>">

<title>My JSP 'index.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">
-->

</head>

<body>
通过使用action属性来接受参数,解决中文乱码问题
<form action="user/user!add" method="post">
姓名:<input type="text" name="name"/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
</span>
user_add_success.jsp

<span style="font-size:18px;"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>user_add_success.jsp</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">
-->

</head>

<body>
user add success <br>
</body>
</html>
</span>
UserAction.java

<span style="font-size:18px;">package com.dqpi.eonline;

import com.opensymphony.xwork2.ActionSupport;
/**
* 通过使用Domain Model来接受参数
*
* @author Administrator
*
*/
public class UserAction extends ActionSupport{

private static final long serialVersionUID = 1L;
private String name;
/**
* add方法,在控制台打印接受的参数的内容
* @return
*/
public String add(){
System.out.println("name =" + name);
return SUCCESS;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}

}
</span>
struts.xml

<span style="font-size:18px;"><?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
<constant name="struts.devMode" value="true" />
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<span style="color:#ff0000;"><!--通过使用struts.i18n.encoding=UTF-8来解决中文乱码问题  -->
<constant name="struts.i18n.encoding=UTF-8" value="true"/></span>
<package name="user" namespace="/user" extends="struts-default">
<action name="user" class="com.dqpi.eonline.UserAction">
<result>
/User_add_success.jsp
</result>
</action>
</package>
</struts>
</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: