私は奇妙な問題を抱えています。2 つのコントロールを持つ 1 つの JSF ページがあります: - InputText - Button
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<f:view xmlns:f="http://java.sun.com/jsf/core" xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
<af:document title="view12.jsf" id="d1">
<af:messages id="m1"/>
<af:form id="f1">
<af:inputText label="Label 1" id="it98" value="#{param.test}" editable="always"/>
<af:commandButton actionListener="#{bindings.przekierowanie.execute}" text="przekierowanie"
disabled="#{!bindings.przekierowanie.enabled}" id="cb1"/>
</af:form>
</af:document>
そして、URLからのパラメータでInputTextを初期化したい(パラメータ名はtest - value="#{param.test}")。JSFページではすべて問題ありません。しかし、ボタンをクリックした後、Java コードの InputText から値を読み取る必要があるため、次の URL があります。
http://127.0.0.1:7101/Application6-ViewController-context-root/faces/view12.jsf?test=asd
ボタンをクリックした後に実行される私のJavaコードは次のとおりです。
public String przekierowanie() {
Map <String,String> map=FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
String tttValue=map.get("test");
System.err.println("test:" + tttValue);
return null;
}
しかし、これは機能しません...ボタンをクリックすると毎回nullになります。Java関数のInputTexからこの値を取得する理由と方法を教えてください。