<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中得到了解決.

    主站蜘蛛池模板: 亚洲精品黄色视频在线观看免费资源 | 日韩成人免费视频| 亚洲精品在线视频| 免费国产黄网站在线看| 免费一级黄色毛片| 四虎精品成人免费视频| 亚洲第一区精品日韩在线播放| 免费一级毛suv好看的国产网站 | 中文字幕日本人妻久久久免费| 久久久久国产成人精品亚洲午夜 | 国产亚洲综合视频| 亚洲精品老司机在线观看| 一级大黄美女免费播放| 亚洲精品乱码久久久久久按摩| 91视频免费网站| 久久精品国产精品亚洲毛片| 久草视频在线免费| 亚洲丶国产丶欧美一区二区三区| 国产青草视频免费观看97| 男女作爱免费网站| 国产亚洲成AV人片在线观黄桃| 久久精品免费电影| 亚洲AV成人无码天堂| 国产一区二区三区免费视频 | 特a级免费高清黄色片| 亚洲国产精品无码av| 久久久免费精品re6| 国产人成亚洲第一网站在线播放| 国产大片91精品免费看3| 丁香六月婷婷精品免费观看| 亚洲国产成人久久精品影视| 在线观看视频免费完整版| 日日摸夜夜添夜夜免费视频 | 亚洲电影日韩精品| 久久免费精品视频| 2020天堂在线亚洲精品专区| 亚洲成片观看四虎永久| 久久国产精品免费观看| 色欲aⅴ亚洲情无码AV蜜桃| 亚洲男同帅GAY片在线观看| 很黄很色很刺激的视频免费|