我在动作名称之后实现参数,例如“http://localhost:8080/webapp/book/view/abc” 但当我发送另一个语言参数,如“http://localhost:8080/webapp/book/view /กขค”(这是泰语) 它不起作用,这是我的行动代码。
@Getter @Setter String bookingNo;
@Action(value = "view/*", params = {"bookingNo", "{1}"}, results = {@Result(name = SUCCESS, location = "view.jsp")})
public String view() {
// show something like this: กขค
log.info("bookingNo: " + bookingNo);
// show correct encoding value
log.info("bookingNo after unescapeHtml: " + StringEscapeUtils.unescapeHtml(bookingNo));
return SUCCESS;
}
我的问题是如何设置unescapeHtml或其他选项以获取所有Action中所有方法的正确参数编码?
PS。我已经在我的tomcat7中将URIEncode配置为UTF-8并且我尝试实现拦截器,但我不知道如何解决它?
答案 0 :(得分:0)
您有UTF-8字符。使用它将它们编码为一个字节序列 平台的默认字符集和解码为UTF-8字符集。
log.info("bookingNo: " + new String(bookingNo.getBytes(), "UTF-8"));