我有非常简单的 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 参数。正确选择会给出正确的结果(字符串“测试:文本测试”打印在服务器的控制台上)。
所以问题是:我应该如何选择正确的 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' 参数值时,将不会执行组件方法。