1

我有以下问题:从一个按钮调用一个java方法,这个方法在同一页面中会有inputText的当前值,你可以这样做吗?

4

4 回答 4

6

1.create a managed bean. 2.define your method use this code ::

FacesContext facesContext = FacesContext.getCurrentInstance();
    UIViewRoot root = facesContext.getViewRoot();
    RichInputText inputText = (RichInputText)root.findComponent("it1");
    String val=inputText.getValue();

where it1 is id for your input text

3.select button's action listener from the button property window. 4.call your managed bean and method

于 2012-07-17T12:40:49.950 回答
3

value在 inputText 上指定一个属性,并使用对具有 View 或更高范围(例如value="#{viewScope.Bean.field}")的托管 bean 中的字段的 EL 引用,在您的 bean 中,您将拥有:

private String field;
public String getField(){ 
    return field; 
};
public void setField(String field){
    this.field = field;
};

然后在同一个 bean 中指定一个actionListenercommandButton处理程序方法的引用:actionListener="#{viewScope.Bean.handleButton}"field以这种方式访问​​:

public void handleButton(ActionEvent event){
    System.out.println('Input field content: ' + getField());
}; 
于 2012-07-23T09:34:46.700 回答
0

有点难以说出你在问什么,但如果你想问:当我单击一个按钮时,我希望该按钮调用支持 Java bean 中的方法并访问 ADF Faces 页面上输入文本字段的值,答案是肯定的。您需要在输入文本字段上设置 Binding 属性并向按钮添加方法调用。使用按钮的 ActionListener 属性,并使用 actionlistener 方法指定或创建支持 bean。然后为输入文本字段设置绑定属性。支持 bean 应该具有文本字段的 get/set 方法,您可以使用它们来获取对文本字段的引用并调用 get/setValue() 方法。

于 2012-07-06T15:52:26.603 回答
0

明白了)

  <af:panelFormLayout id="pfl1">
      <f:facet name="footer">
        <af:commandButton text="отправить" id="cb1" 
                          actionListener="#{inBean.doSave}" partialSubmit="true"/>
      </f:facet>
      <af:inputText label="Ввести данные:" value="#{inBean.myParam}"  id="it1"/>
      <af:outputText value="#{inBean.myParam}" id="ot1" partialTriggers="cb1"/>
    </af:panelFormLayout>

    public void doSave(ActionEvent actionEvent) {
   // ActionResponse response = (ActionResponse)FacesContext.getCurrentInstance().getExternalContext().getResponse();
   // response.setRenderParameter("myParam", myParam);
    FacesContext context = FacesContext.getCurrentInstance();
    UIViewRoot root = context.getViewRoot();
    RichInputText inputText = (RichInputText) root.findComponent("it1");
    myParam = (String)inputText.getValue();
}
于 2016-12-05T05:14:21.800 回答