<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 56, comments - 54, trackbacks - 0, articles - 4
       ::  ::  :: 聯系 :: 聚合  :: 管理

    Struts1.0.2中上傳文件功能的Bug

    Posted on 2005-12-05 10:47 Terry的Blog 閱讀(620) 評論(0)  編輯  收藏 所屬分類: java語言

    Struts1.0.2中上傳文件功能的Bug(日文文件名有時不能完整表示)
     
    struts1.0.2中解析"multipart/form-data"型的request時沒有根據request.getCharacterEncoding()的結果來解碼.
    當截取filename時就可能丟失一些字符.比如文件名為"ソウス.xls"

    RequestUtil.java 
        public static void populate(Object bean, String prefix, String suffix,
                                    HttpServletRequest request)
            throws ServletException {
       
            //initialize a MultipartRequestHandler
            MultipartRequestHandler multipart = null;
            String multipartClass = (String)
            request.getAttribute(Action.MULTIPART_KEY);
            request.removeAttribute(Action.MULTIPART_KEY);
            ......
            //在這里取處理MultipartRequest的類
            multipart = (MultipartRequestHandler) Class.forName(multipartClass).newInstance();
            ......
        }
        
        // 自定義一個DiskMultipartRequestHandlerX

        ActionServlet.java
        /**
         * The MultipartRequestHandler class name used for handling
         * multipart form requests.  This is the global default value,
         * the handler can also be set in individual mapping entries
         */
        protected String multipartClass = "org.apache.struts.upload.DiskMultipartRequestHandler";
       
        public class DefaultActionServlet extends ActionServlet {
       
            protected void process(HttpServletRequest request,
                                   HttpServletResponse response) {
                try {
                    String contentType = request.getContentType();
                    String method = request.getMethod();
                   
                    //if this is a multipart request, wrap the HttpServletRequest object
                    //with a MultipartRequestWrapper to keep the process sub-methods
                    //from failing when checking for certain request parameters
                    //for command tokens and cancel button detection
                    if ((contentType != null) && (contentType.startsWith("multipart/form-data"))
                        && (method.equals("POST"))) {
                        //request.getAttribute(Action.MULTIPART_KEY);
                        // 設置處理MultipartRequest的類,也可以在struts-config.xml中設置。
                        request.setAttribute(Action.MULTIPART_KEY, "com.struts.upload.DiskMultipartRequestHandlerX");
                    }
                   

                    request.setCharacterEncoding("Shift_JIS");
                    super.process(request, response);
                  
                } catch(Exception e) {
                    log.error("encode error: ", e);
                }
            }
        }

    這個問題在struts1.1中得到了解決.

    主站蜘蛛池模板: 毛片免费vip会员在线看| 中文字幕乱码亚洲精品一区| 永久久久免费浮力影院| 亚洲最大免费视频网| 精品免费久久久久国产一区 | 日韩在线一区二区三区免费视频 | 亚洲一区二区免费视频| 黄色视屏在线免费播放| 免费一级特黄特色大片| 亚洲一区二区三区成人网站| 亚洲性一级理论片在线观看| 亚洲欧洲美洲无码精品VA| 亚洲国产精品成人| 韩国18福利视频免费观看| 中文字幕无码成人免费视频| 69av免费观看| 久久久久国产精品免费网站| 少妇性饥渴无码A区免费| 一区二区三区免费电影| 免费夜色污私人影院网站| 免费一级毛suv好看的国产网站| 亚洲丁香婷婷综合久久| 亚洲一线产品二线产品| 亚洲中文字幕无码mv| 亚洲综合欧美色五月俺也去| 亚洲一级大黄大色毛片| 亚洲成在人线电影天堂色| 久久久亚洲AV波多野结衣| 91大神亚洲影视在线| 亚洲综合久久久久久中文字幕| 亚洲国产精品婷婷久久| 久久精品国产亚洲精品2020| 亚洲一区免费观看| 亚洲理论片在线观看| 亚洲精品视频在线观看视频| 亚洲成人动漫在线观看| 亚洲国产亚洲综合在线尤物| 亚洲五月丁香综合视频| 亚洲综合色一区二区三区| 国产精品亚洲lv粉色| 看免费毛片天天看|