2016-07-22 20 views
1

私は木のDynaformオブジェクトを作成し、ページに送信することができた。このチュートリアル複数のダイナフォームから値を取得する方法は?

http://www.primefaces.org/showcase-ext/sections/dynaform/basicUsage.jsf

を追っています。しかし、私は、ユーザーがsubmitをクリックすると入力した値を取得するのに苦労しています。私はバックベイでこれらの価値を得ることができるようにしたい。

public String submitForm() { 
     FacesMessage.Severity sev = FacesContext.getCurrentInstance().getMaximumSeverity(); 
     boolean hasErrors = (sev != null && (FacesMessage.SEVERITY_ERROR.compareTo(sev) >= 0)); 

     RequestContext requestContext = RequestContext.getCurrentInstance(); 
     requestContext.addCallbackParam("isValid", !hasErrors); 

     return null; 
    } 

どのように取得することができます:ここで

は、私たちが持っている豆でその後のコールこの機能

<h:outputScript id="dynaFormScript" target="body"> 
/* <![CDATA[ */ 
    function handleComplete(xhr, status, args) { 
     if(args && args.isValid) { 
      PF('inputValuesWidget').show(); 
     } else { 
      PF('inputValuesWidget').hide(); 
     } 
    } 
/* ]]> */ 
</h:outputScript> 

を提出知るボタン

<p:commandButton value="Submit" action="#{dynaFormController.submitForm}" 
          process="dynaForm" update=":mainForm:dynaFormGroup :mainForm:inputValues" 
          oncomplete="handleComplete(xhr, status, args)"/> 
<p:commandButton type="reset" value="Reset" style="margin-left: 5px;"/> 

を提出しています送信されたフォームのフィールドの値か、 私は3つのdynaformを提出し、バックビーンで値を取得できるようにしたいと考えています。誰でも説明できますか?私はいくつかのチュートリアルを見てみましたが、私はこれを説明していませんでした。

ありがとうございました。

答えて

0

これはプレーンなJSFと同じです。

Bean、getter、setterに変数が必要です。 次に、これをDynaFormControlと比較します。

@ManagedBean 
@SessionScoped 
public class DynaFormController implements Serializable { 

private static final long serialVersionUID = 1L; 
private DynaFormModel model; 
private BookProperty bookProperty; 

public String getBookProperty() { 
    return bookProperty; 
} 
public void setBookProperty(BookProperty bookProperty) { 
    this.bookProperty = bookProperty; 
} 

public String submitForm() { 
    //your code 

    List<DynaFormControl> controls = model.getControls(); 
    for (DynaFormControl control : controls) { 
     if(control.getData() instanceof BookProperty) { 
      BookProperty bp = (BookProperty) c.getData(); 
      //use the object     
     } 
    }  

    return null; 
} 

}

関連する問題