在写jsp往后台传送数据的时候,以前是在URL后面加的数据一般都是数字或英文,这次在后面直接加中文,发现后台出现乱码。但是表单中提交的中文就不是乱码啊!真是搞的我很不解。最后查了一下网上,说要转码。转就转呗。可是转过以后form提交的数据却成了乱码了。真是烦。想到的办法就是在后台需要接收这个参数的方法中,先进行判断,如果是post则不需要转码,如果是get则需要转码。但是首先需要获得页面的传输方式,通过查询,终于找到了一个方法,代码示例如下:
public void setName(String name) throwsUnsupportedEncodingException{
String method = ServletActionContext.getRequest().getMethod();
if("GET".equalsIgnoreCase(method)){
this.name=new String(name.getBytes("ISO-8859-1"),"GBK");
}else{
this.name = name;
}
}
用request获得页面的传输方式。是get的就转码,不是的就不转。