2012-07-06 2 views

답변

1

당신이 묻고 싶은 질문을하기가 어렵습니다. 버튼을 클릭 할 때, 버튼이 뒷받침 자바 빈에서 메소드를 호출하고, 입력 텍스트 필드의 값에 액세스하려고합니다. ADF Faces 페이지에서 대답은 '예'입니다. 입력 텍스트 필드에 바인딩 속성을 설정하고 버튼에 메서드 호출을 추가해야합니다. 버튼에 ActionListener 속성을 사용하고 actionlistener 메서드를 사용하여 백업 빈을 지정하거나 만듭니다. 그런 다음 입력 텍스트 필드에 바인딩 속성을 설정하십시오. backing 빈은 텍스트 필드에 대한 get/set 메소드를 가져야하며,이를 사용하여 텍스트 필드에 대한 참조를 가져오고 get/setValue() 메소드를 호출 할 수 있습니다.

+0

http://stackoverflow.com/questions/11100258/how-to-get-any-value-from-any-text-box .. 난이 속성 관리자에서 텍스트 필드에 대한 바인딩 속성을 설정 – giulius

+0

쉽게 질문하고이 객체 참조와 접근이 콩을 백업에 추가됩니다 것입니다 따르도록 - 특수 - 오라클 ADF-관통 버튼을 클릭합니다. – Joe

+0

나는 동의하지 않는다. 텍스트 필드에'binding' 대신'value' 속성을 사용하여 관리 빈에서 입력 값을 저장해야하는 필드를 지정해야합니다. – dragn

5

1.create 관리 빈. 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.select 버튼의 액션 청취자를 사용합니다. 4.call은 관리 빈 및 방법은

3

(예 : value="#{viewScope.Bean.field}")이, 여러분의 빈에 당신이 가진 것보기 이상 범위와 관리 빈의 필드에 EL 기준으로 InputText]를에 value 속성을 지정

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

그런 다음 동일한 빈의 핸들러 메소드를 참조하여 commandButtonactionListener을 지정하십시오. actionListener="#{viewScope.Bean.handleButton}". 이 방법에서는 액세스 field :

public void handleButton(ActionEvent event){ 
    System.out.println('Input field content: ' + getField()); 
}; 
+0

좋은 점은이 접근법도 잘 작동한다는 것입니다. 그가하고 싶은 일에 달려 있습니다. 그는 단지 가치를 원한다면 괜찮습니다. inputTextField를 다른 방법으로 조작 할 수있게하려면 바인딩이 필요합니다. BTW, 나 자신의 접근 자 메서드를 호출하고 속성을 직접 참조하지 않는 것이 좋습니다. – Joe

+0

동의 함. 나는 우리가 좋은 프로그래머의 예의 범절을 장려해야한다고 생각한다. 나는 내 대답을 업데이트 할 것이다 ... :) – dragn

+0

- 이것. 내가 가장 좋아하는 것 중 하나. – Joe

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(); 
}