2012-05-03 21 views
1

想知道如何設置隱藏字段值,以便在我提交表單時,JSF將其設置爲CDI託管bean中對象的ID。inputHidden綁定到備用bean中的長ID字段

我的bean被稱爲「discussionManager」,它有一個名爲'discussion'的對象,它是一個實體,因此具有Long類型的ID。

我需要這個ID,所以我可以查看它並做它的東西。但是,JSF似乎不喜歡數字隱藏字段。雖然字符串字段沒問題。確定它與轉換器或綁定屬性有關,但無法獲得語法。這是我嘗試的最簡單的形式。

<h:inputHidden id="discussionId" value="#{viewDiscussionBean.discussion.id}"/> 

我試過很多變化。任何人都可以指出我正確的方向嗎?

謝謝

回答

1

你確實需要明確指定一個轉換器。 JSF內置LongConverter是適合的。

<h:inputHidden id="discussionId" value="#{viewDiscussionBean.discussion.id}" converter="javax.faces.Long" /> 
+0

哦,我正在嘗試使用javax.faces.convert.LongConverter。我在另一篇文章上看到了你的版本,並且找不到任何文檔,所以認爲它是錯誤的,然後看了看包的內容。我會試試看(當我的服務器終於恢復正常並測試它時)會回發。謝謝 – Richard

+0

在'LongConverter' Javadoc中,檢查'CONVERTER_ID'常量。這正是該轉換器ID值:http://docs.oracle.com/javaee/6/api/constant-values.html#javax.faces.convert.LongConverter.CONVERTER_ID – BalusC

+0

謝謝,這是真正有用的知道。我吮吸JSF,我試着雖然大聲笑:) – Richard