upload.parseRequest(request)未返回值

今天继续看jeeshop的程序,在管理页面做上传的时候后台
List items = upload.parseRequest(request);

返回来的items里面始终没得值 。

在网上找了很多,一些说是form 没有加
 enctype="multipart/form-data" method="post"
  或者
  <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

//应该修改为 
  <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>*.action</url-pattern>
    </filter-mapping>

但是经过检查,都不存在这个问题。

最后结果是
	<filter-mapping>
		<filter-name>EncodeFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

的问题 。
解决的方法是在EncodeFilter中增加以下判断

String image = request.getParameter("dir");   
		
		if(StringUtils.isBlank(image) || !image.equals("image")){
			chain.doFilter(request, response);
		}else{
			chain.doFilter(new StrutsRequestWrapper((HttpServletRequest) request), response);
		}


猜你喜欢

转载自crackajack-zg.iteye.com/blog/2124858
今日推荐