以下に示すような非常に単純な JSF Bean があります。
import org.jboss.seam.annotations.Name;
@Name(Sample.NAME)
public class Sample {
    public static final String NAME="df";
    private String text = "text-test";
    public void sampleM(){
        System.out.println("Test: "+text);
    }
    public String getText() {
        return text;
    }
    public void setText(String text) {
        this.text = text;
    }
}
そして、このコンポーネントに接続された JSF フォーム:
<h:form id="sampleForm">
        <h:commandButton id="sampleButton" action="#{df.sampleM()}" value="ok" />
</h:form>
ここで、このフォームに POST リクエストをプログラムで送信したいと思います。
私の調査によると、ここで重要なのは POST パラメータです。適切に選択すると、適切な結果が得られます (文字列 'Test: text-test' がサーバーのコンソールに出力されます)。
問題は、正しい POST データをどのように選択すればよいかということです。
上記の JSF フォームは、次の HTML フォームを生成します。
<form id="sampleForm" name="sampleForm" method="post" action="/pages/main/main.smnet" enctype="application/x-www-form-urlencoded">
    <input type="hidden" name="sampleForm" value="sampleForm" />
    <input id="sampleForm:sampleButton" type="submit" name="sampleForm:sampleButton" value="ok" />
    <input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="j_id65" autocomplete="off" />
</form>
したがって、これらのパラメータは正しいです。
しかし、どのパラメーター (名前と値) が他のコンポーネントに十分かを知るにはどうすればよいでしょうか?
例: 表示されている HTML フォームと同じように POST データを送信すると、'javax.faces.ViewState' パラメータ値が異なり、コンポーネント メソッドは実行されません。