<a href="test.action?userName=张三">请点击</a>
上面的 userName 的值是中文,传到 action 后会变乱码。
因为url传中文实际开发中并不是很常用,一般都是表单传中文。
因此,如果不想去改项目和tomcat的配置的话,可以如下做法:
public class TestAction extends ActionSupport {
private String userName;
public void setUserName(String userName)
throws UnsupportedEncodingException {
this.userName = new String(userName.getBytes("iso-8859-1"), "utf-8");
}
@Override
public String execute() throws Exception {
return SUCCESS;
}
}
直接修改set方法,struts2绑定数据时,马上转换为utf-8即可。