文档章节

Struts2---->中文乱码

小强斋太
 小强斋太
发布于 2016/11/09 20:07
字数 423
阅读 0
收藏 0

1、<form action="user!add" method="post"> 必表单提交方法必须为post,如果是get就出错

Action1.java

package com.ncepu.struts2;

public class Action1 {

	private String name;
	private String password; //传递参数的时候  用的是方法 而不是赋给属性,
	                       //所以说将password改成userpassword下面方法setPassword不变也可以。	                       

	public String getName() {
		return name;
	}

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

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String add() {
		
        System.out.println("添加的name="+name+"添加的password="+password);
		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>
	<constant name="struts.devMode" value="true" />
	<package name="default" namespace="/" extends="struts-default">
		<action name="user" class="com.ncepu.struts2.Action1">
			<result name="success">
				/add.jsp
            </result>
		</action>
	</package>
</struts>

index.jsp

<body>
			<!--必须为post-->
		<form action="user!add" method="get">
			姓名2
			<input type="text" name="name">
			密码1
			<input type="text" name="password">
			<input type="submit" value="submit" />
		</form>
	</body>

后台输出为:添加的name=°?????·?添加的password= °?·??÷

解决方法:
1、必须将<form action="user!add" method="post"> 必表单提交方法必须为post才正确。

2、对请求参数重新编码(参照http://blog.csdn.net/ncepustrong/article/details/7927027)

String name = new String(request.getParameter("name").getBytes("ISO8859-1"));
String password= new String(request.getParameter("password").getBytes("ISO8859-1"));

在此使用到了request,必须得到。

package com.ncepu.struts2;

import java.io.UnsupportedEncodingException;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class Action1 extends ActionSupport {

	private static final long serialVersionUID = 1L;
	HttpServletRequest request;
	private String name;
	private String password; // 传递参数的时候 用的是方法 而不是赋给属性,

	// 所以说将password改成userpassword下面方法setPassword不变也可以。

	public String getName() {
		return name;
	}

	public Action1() {
		request = ServletActionContext.getRequest();

	}

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

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String add() throws UnsupportedEncodingException {
		name = new String(request.getParameter("name").getBytes("ISO8859-1"));
		password = new String(request.getParameter("password").getBytes("ISO8859-1"));
		System.out.println("添加的name=" + name + "添加的password=" + password);
		return ("success");
	}

}


 

 

本文转载自:http://www.cnblogs.com/xqzt/archive/2012/08/30/5637212.html

共有 人打赏支持
小强斋太
粉丝 0
博文 181
码字总数 0
作品 0
广州
私信 提问
struts2中文乱码解决方法-转贴

action重定义时使用下面的方式 aaa.action ${showMsg} true 终于在自己的项目中引入struts2了,但一上来就来一个中文乱码的问题。google了半天找了几个不痛不痒的结果,很是不满意。又调试了...

antonie
2010/03/17
554
0
关于JSP页面表单提交中文乱码问题和URL中文参数乱码问题

通过页面表单或URL提交请求给Struts2的Action处理,出现中文显示乱码,网上很多都是设置Struts2的编码为UTF8,设置JSP页面编码为UTF8,甚至编写一个Filter来设置所有请求编码为UTF8.这种办法如果...

蜡笔小小小新
2015/12/01
54
0
Struts2乱码终极解决办法

这个暑假一直在做有关Struts2的相关开发,可是乱码问题一直出现,也一直没在意。。。今天闲来有空,总结一下,希望以后乱码问题不要再出现 先把以往需要设置的点罗列一下: 1. JSP 文件头 2....

长平狐
2012/11/12
492
0
struts2 传值 中文 为空

struts2 传值为中文的时候,传不到后台,是空的,不是乱码是空的,各位有什么办法帮帮我 前台代码: 后台接收到的数据里面,如果传值是英文或者数字都是正常的,就是传中文,后台接收不到...

seandu
2013/06/18
489
10
java-websphere 乱码

从tomcat6迁移到websphere6, jquery-ajax调用 struts2 ,使用data:params ,中有中文参数,出现乱码。 ps:本地开发tomcat中没有问题!求解!...

VmLia
2013/09/13
243
1

没有更多内容

加载失败,请刷新页面

加载更多

深入理解Java PriorityQueue

ava中PriorityQueue通过二叉小顶堆实现,可以用一棵完全二叉树表示。本文从Queue接口函数出发,结合生动的图解,深入浅出地分析PriorityQueue每个操作的具体过程和时间复杂度,将让读者建立对...

java菜分享
21分钟前
2
0
玩手机与做实验

看过这样一个故事:说的是在二十世纪二十年代初的一个深夜,担任英国剑桥大学卡文迪许实验室主任的卢瑟福来实验室检查,发现一位学生还在做实验。卢瑟福就问他:“你上午做什么了?”学生回答...

Bob2100
31分钟前
2
0
Kafka流式处理

Kafka Streams 初识流式处理 什么是数据流 数据流(也叫事件流)是无边界数据集的抽象表示。无边界意味着无限和持续增长。无边界数据集之所以是无限的,是因为随着时间的推移,新记录会不断加...

东都大狼狗
40分钟前
4
0
Mysql主从复制(拓展博客文章扩充知识面)

#不停库不锁表在线主从配置 使用 Xtrabackup 在线对MySQL做主从复制 1.数据量大的话还是建议使用工具例如xtrabackup,mysqldump比较适合操作10G以下的数据备份复制。 2.做业务之前考虑清楚具...

robertt15
45分钟前
2
0
docker快速搭建几个常用的第三方服务

本次和大家分享的内容是使用docker快速搭建工作中常用的第三方的服务,对于有一些互联网背景的公司来说,以下几个服务都是很需要的:redis,rabbit,elasticsearch; 如果想学习Java工程化、...

编程SHA
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部