0

我在 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 在服务器上传递正确的用户编号?谢谢。

编辑 在我的本地 tomcat 上一切正常,但在服务器上我得到了错误的 userNumber。即使我写了request.setCharacterEncoding("UTF-8")我仍然不知道该怎么办(我需要帮助。

4

1 回答 1

2

您需要对调用中的参数进行 URL 编码(全部或仅用户编号):

String param = URL.encode("?userNumber="
            + "ВАВАВАВАВ" + "&mode=" + "JPG"
            + "&hm=" + GWT.getPermutationStrongName());

muplDef.setServletPath(muplDef.getServletPath() + param);
于 2015-03-17T16:42:27.847 回答