2013-11-20 17 views
0

我有一個UI窗體,它有一些隱藏的窗體字段。在某些情況下,輸入字段的值必須在表單呈現時設置。現在,我在頁面上使用內聯JavaScript將值設置爲隱藏表單字段。將值設置爲表單上的JSF組件

<h:inputHidden id="computeAction" value="#{backBean.property}" /> 
<script language="JavaScript" type="text/javascript"> 
     // <![CDATA[ 
      $('formId:computeAction').value ="true";    
     // ]]> 
    </script> 

我必須這樣做,因爲我必須使用表單上的value屬性來創建綁定到託管bean屬性。有沒有更好的做到這一點?

+0

你的JS代碼不起作用。 jQuery選擇器已損壞。 – BalusC

+0

謝謝,但那不是JQuery。我們使用prototype.js –

回答

0

只需在(建立)bean的後期設置它。

@ManagedBean 
@RequestScoped 
public class BackBean { 

    private String property; 

    @PostConstruct 
    public void init() { 
     property = "true"; 
    } 

    // ... 
} 

如果使豆@ViewScoped,你甚至不需要一個<h:inputHidden>可言。

+0

要設置的值是在頁面呈現時確定的。例如,我有兩個版本的JSF表單,其中一個表單想要設置'true',另一個想要在同一個屬性上設置'false'。 –