我有以下问题: 从一个按钮调用一个java方法,这个方法将在同一页面中具有inputText的当前值,你可以这样做吗?
答案 0 :(得分:5)
1.创建托管bean。 2.define你的方法使用这个代码::
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.从按钮属性窗口中选择按钮的动作侦听器。 4.call你的托管bean和方法
答案 1 :(得分:3)
在inputText上指定一个value
属性,并在您的bean中使用View或更高范围(例如value="#{viewScope.Bean.field}"
)对托管bean中的字段进行EL引用:
private String field;
public String getField(){
return field;
};
public void setField(String field){
this.field = field;
};
然后在actionListener
上指定commandButton
,并在同一个bean中引用处理程序方法:actionListener="#{viewScope.Bean.handleButton}"
。在此方法中访问field
:
public void handleButton(ActionEvent event){
System.out.println('Input field content: ' + getField());
};
答案 2 :(得分:1)
很难说出你在问什么,但是如果你想问:当我点击一个按钮时,我希望按钮在后备java bean中调用一个方法并访问一个输入文本字段的值。 ADF Faces页面,答案是肯定的。 您需要在输入文本字段上设置Binding属性,并为该按钮添加方法调用。使用ActionListener属性作为按钮,并使用actionlistener方法指定或创建辅助bean。然后设置输入文本字段的绑定属性。辅助bean应该具有文本字段的get / set方法,您可以使用它们来获取对文本字段的引用并调用get / setValue()方法。