JSF 2.2多部分表单未提交

时间:2014-06-06 09:37:28

标签: jsf file-upload jboss7.x jsf-2.2

当我使用jboss 7.1在jsf 2.2项目中上传文件时 它阻止提交表格。 帮帮我....

这是上传文件的示例代码

这是我的welcome.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://xmlns.jcp.org/jsf/html"
    xmlns:f="http://xmlns.jcp.org/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
</h:head>
<h:body>
    <h:form  enctype="multipart/form-data"  >
    <h:outputLabel value="Upload File : " />
    <h:inputFile value="#{myController.file}"/> 
    <h:commandButton value="Submit" action="#{myController.mycontroller}" />
    </h:form>
</h:body>
</html>

这是我的支持bean MyController.java

public class MyController {

    private Part file;
    public Part getFile() {
        return file;
    }

    public void setFile(Part file) {
        this.file = file;
    }

    public String mycontroller() throws IOException {

        System.out.println("--call mycontroller method--");

        UploadFile uf = new UploadFile();

        boolean b = uf.upload(getFile());
        System.out.println(b);

        return "success.xhtml";
    }
  }

修改:1 我有一个带文件上传的表单和一个<h:commandButton>,我想获取上传文件的信息。我面临的问题是,当我添加enctype="multipart/form-data"时按钮没有触发。所以任何建议对我都有帮助。

1 个答案:

答案 0 :(得分:1)

我复制粘贴你的代码,它按预期工作。我做的唯一补充是将@ViewScoped@ManagedBean注释添加到MyController