[JSF上传的问题] form里面有enctype="multipart/form-data"一段,程序就不能运行,我把这一段去掉就正常了,为什么呢?

hell9999 2007-11-13 04:52:54
JSP 里面有
<h:form styleClass="form" enctype="multipart/form-data">
红色那段代码,点按钮的时候,只刷新页面,而不提交。如果去掉就能提交。
上传文件是不是必须得要那段代码啊????

为什么啊?

JSP:
<x:inputFileUpload id="uploadFile" value="#{Bean.uploadFile}" storage="file" required="true"/>

<h:commandButton type="submit" value="OK" styleClass="commandButton" id="upload"
actionListener="#{Bean.doEvent}" action="#{Bean.getRetForward}">
</h:commandButton>

bean:
private UploadedFile uploadFile;

public UploadedFile getUploadFile() {
return this.uploadFile;
}

public void setUploadFile(UploadedFile uploadFile) {
this.uploadFile = uploadFile;
}

...全文
577 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lqxv 2011-01-20
  • 打赏
  • 举报
回复
多谢 7 楼的兄弟
fanhang116 2010-02-05
  • 打赏
  • 举报
回复
我也发生了跟你一样的问题.本来我的web.xml里的过滤器配置的是:
<filter>
<filter-name>ExtensionsFilter</filter-name>
<filter-class>
org.apache.myfaces.component.html.util.ExtensionsFilter
</filter-class>
<init-param>
<param-name>uploadMaxFileSize</param-name>
<param-value>10m</param-value>
</init-param>
<init-param>
<param-name>uploadThresholdSize</param-name>
<param-value>100k</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>ExtensionsFilter</filter-name>
<servlet-name>FacesServlet</servlet-name> </filter-mapping>

可是当我用了7楼的过滤器后(只有红色的地方不一样.)
发现含有文件上传表单的页面根本就出不来是怎么回事啊.一片空白.无语.不知道是怎么回事.
hell9999 2007-11-17
  • 打赏
  • 举报
回复
好了 解决了。
7楼的方法正确
ye_jh 2007-11-17
  • 打赏
  • 举报
回复
web.xml 里面添加以下代码
<filter>
<filter-name>ExtensionsFilter</filter-name>
<filter-class>
org.apache.myfaces.component.html.util.ExtensionsFilter
</filter-class>
<init-param>
<param-name>uploadMaxFileSize</param-name>
<param-value>10m</param-value>
</init-param>
<init-param>
<param-name>uploadThresholdSize</param-name>
<param-value>100k</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>ExtensionsFilter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
chenwei175528 2007-11-15
  • 打赏
  • 举报
回复
好像在网上看到过这样一种说法
说是JSF的form里面是不应该有enctype= "multipart/form-data的
你再到网上确认一下吧
ltlb0116 2007-11-14
  • 打赏
  • 举报
回复
那段代码的意思是把form中的内容转化成2进制传送,是上传文件必须的代码。但是如果form内不是只有文件上传,还需要传别的的话就会出错。
解决方案:用2个form,把需要上传的用enctype= "multipart/form-data ",不用文件上传的就可以不加这个属性了
hell9999 2007-11-14
  • 打赏
  • 举报
回复
要那段代码,点按钮的时候就触发不了server端的事件

怎么解决啊???
xiyuan1999 2007-11-13
  • 打赏
  • 举报
回复
上传文件是不是必须得要那段代码啊

要的
hell9999 2007-11-13
  • 打赏
  • 举报
回复
UP
hell9999 2007-11-13
  • 打赏
  • 举报
回复
上网搜索了很多
都没有一个解决的方法

有没有人知道啊???

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧