我在GWT中使用MultiUploader,我在服务器上通过servlet路径传递userNumber。
MultiUploader muplDef = new MultiUploader();
muplDef.setServletPath(muplDef.getServletPath() + "?userNumber="
+ "ВАВАВАВАВ" + "&mode=" + "JPG"
+ "&hm=" + GWT.getPermutationStrongName());
我的userNumber包含西里尔字母“ВАВАВАВАВ”,在服务器上我收到了错误的userNumber:ÐÐÐÐÐÐÐÐÐÐ。
@Override
public String executeAction(HttpServletRequest request,
List<FileItem> sessionFiles) throws UploadActionException {
try {
request.setCharacterEncoding("UTF-8");
userNumber = request.getParameter("userNumber");
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
...
如何在GWT中使用MultiUploader在服务器上传递正确的userNumber?感谢。
修改
在我的本地tomcat一切都很好,但在服务器上我得到错误的userNumber。即使我写了request.setCharacterEncoding("UTF-8")
我仍然不知道该怎么做(我需要帮助。
答案 0 :(得分:2)
您需要对呼叫中的参数进行URL编码(全部或仅用户编号):
String param = URL.encode("?userNumber="
+ "ВАВАВАВАВ" + "&mode=" + "JPG"
+ "&hm=" + GWT.getPermutationStrongName());
muplDef.setServletPath(muplDef.getServletPath() + param);