2

commandButtons にアクションを実行させるのに苦労しています (奇妙なことに、Bean からデータをプルしてページに含めるのに問題はありません)。私のコードを他の場所に投稿し、他の人にレビューしてもらいました。これまでのところ、運がありません。ですから、おそらく別のタクトが適切であると考えています。アクションを正常に呼び出すことができる commandButton を持つプロジェクトの非常に単純で基本的なサンプル コードを教えてもらえますか?

4

1 に答える 1

6

スターターに共通する原因は、<h:form>忘れられていることです。HTML 仕様に従って、サーバー側に何かを送信するための送信ボタンは、HTML<form>要素内に配置する必要があります。

JSF でこれを行う簡単な Hello World の例を次に示します。

JSFページ

<!DOCTYPE html>
<html 
    xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html">
    <h:head>
        <title>Hello World</title>
    </h:head>
    <h:body>
        <h:form>
            Enter your name
            <h:inputText value="#{bean.input}" />
            <h:commandButton value="submit" action="#{bean.submit}" />
        </h:form>
        <h:outputText value="#{bean.output}" />
    </h:body>
</html>

豆:

package mypackage;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

@ManagedBean
@RequestScoped
public class Bean {

    private String input;
    private String output;
    
    public void submit() {
        output = String.format("Hello %s!", input);
    }

    public String getInput() {
        return input;
    }

    public String getOutput() {
        return output;
    }

    public void setInput(String input) {
        this.input = input;
    }

}

それで全部です :)

この問題の他の考えられる原因については、以下のリストの最初のリンクを確認してください。

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

于 2010-06-28T13:55:47.520 に答える