Struts2---->中文乱码
来源:互联网 发布:淘宝不能开店了 编辑:程序博客网 时间:2024/05/01 06:05
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");}}
- struts2中文乱码解决方法
- Struts2 中文乱码问题解决
- Struts2中文乱码解决方法
- Struts2中文乱码解决方法
- struts2中文乱码解决方法
- struts2中文乱码
- struts2中文乱码解决方法
- Struts2中文乱码解决办法
- struts2中文乱码解决方法
- Struts2中文乱码解决方法
- struts2 中文乱码解决办法
- struts2解决中文乱码
- struts2中文乱码解决方法
- struts2中文乱码问题
- struts2中文乱码解决
- Struts2 中文乱码问题解决
- struts2中文乱码解决方法
- struts2中文乱码解决方法
- Java指定长度随机生成的字符串,且这个字符串必须包含大小写字母和数字
- 自己动手写二叉堆
- [AndroidTips]Android软件测试的日志文件抓取简介
- UIViewController使用技巧!
- PHP上传文件大小限制
- Struts2---->中文乱码
- 腾讯面试题集锦
- 百度K站之前兆与解决方案的另类分析
- Hex与ASCII相互转换函数
- C++动态数组
- svn建库,启动命令
- 用ntp 网络同步 CentOS 系统时间
- Linux下scp命令的使用
- java反射详解