2014-02-07 103 views
0

對於任務,我有一個需要4個整數(表示IP地址)的表單。在2頁之間切換時,只有在選中複選框時,才能保留IP地址和子網信息。到目前爲止,我所做的所有嘗試都是在頁面加載時重置所有內容(因此,無論何時提交表單)或者根本不清除。有關如何解決這個問題的任何建議?JSF當未選中複選框時清除表格數據

輔助Bean

@ManagedBean(name="controllerBean") 
@SessionScoped 
public class CalculatorController implements Serializable{ 
CalculatorModel model; 

public CalculatorModel getModel(){ 
    return model; 
} 

public CalculatorController(){ 
    super(); 
     model = new CalculatorModel();  
} 
} 

形式

<h:form id="calculator"> 

       <table border="1"> 
        <tr> 
         <th><h5>IP Address</h5></th> 
         <th><h5>Prefix Length</h5></th> 
        </tr> 
        <tr> 
         <td> 
          <h:panelGrid columns="4"> 
           <h:inputText 
            id="firstOctet" 
            label="First Octet" 
            required="true" 
            size="1" 
            maxlength="3" 
            requiredMessage="Enter a valid " 
            value="#{controllerBean.model.firstOctet}"> 
            </h:inputText> 

表單包含3個inputTexts(對於其它八位字節),一個按鈕和幾個表,顯示的部分計算結果。

+0

你應該張貼您的代碼,所以我們的分析它。 –

回答

0

這對你的任務來說可能太晚了,希望你能明白。以下是我想做到這一點:

 <table border="1"> 
       <tr> 
        <th><h5>IP Address</h5></th> 
        <th><h5>Prefix Length</h5></th> 
       </tr> 
       <tr> 
        <td> 
         <h:panelGrid columns="4"> 
          <h:inputText 
           id="firstOctet" 
           label="First Octet" 
           required="true" 
           size="1" 
           maxlength="3" 
           requiredMessage="Enter a valid " 
           value="#{controllerBean.model.firstOctet}"> 
           </h:inputText> 
          <!-- more inputs here--> 
       <h:selectOneBoolean value="#{controllerBean.saveValues}" /> 
       <h:outputLabel value="Save Values?" /> 
       <h:commandButton action="#{controllerBean.submit}" value="Go to other page"/>  

和控制器豆:

@ManagedBean(name="controllerBean") 
@SessionScoped 
public class CalculatorController implements Serializable{ 
    CalculatorModel model; 
    boolean saveValues; 

    /* ...Getters and setters for CalculatorModel and saveValues... */ 

    public CalculatorController(){ 
    super(); 
    model = new CalculatorModel();  
    } 

    public String submit() { 
    if (!saveValues) { 
     model.setFirstOctet(0); 
     // ... etc 
     model.setPrefixLength(0); 
    } 
    return "next-view-id"; 
    } 
} 
相關問題