0

奇妙な問題が発生しました。primefaces コマンド ボタンがあります。

<p:commandButton action="#{userBean.buttonToUploadText}" value="Submit" icon ="ui-icon-arrowstop-1-n"/> 

userBean.java

public String buttonToUploadText() {
    System.out.println("buttonToUploadText invoked"); //testing to make sure it is called
    return "/upload/uploadText.xhtml";
}

これがすべきことは、ユーザーをアップロードテキストページに移動するだけです。これを行いますが、このボタンがあるときはいつでもファイルアップロードは何もしませんが、2番目にこのコマンドボタンを編集して通常のボタンを使用すると、ファイルのアップロードは完璧に機能しますか? 私は何を間違っていますか

編集:

ajax が false の場合に完全に機能することがわかりましたが、これはなぜですか?

4

1 に答える 1

2

すべてのコードを示したわけではありませんが、PrimeFaces ファイル アップロード コンポーネントにmode="simple". <input type="file">これにより、JS/Ajax サポートなしでネイティブ HTML が生成されます。これには、ショーケースajax="false"に示されているとおり、 の付いたコマンド ボタンが必要です。

ファイルをアップロードして ajax でフォームを送信できるようにする場合は、mode="advanced". ショーケースもご覧ください。

以下も参照してください。

于 2013-02-03T01:30:29.233 に答える