我在其他帖子找不到解決方案,所以這是我的問題。 (事先,我在JBoss 7.1 AS上使用帶有Mojarra實現和Primefaces 3.2的JSF 2)在編譯時你不知道在運行時添加JSF組件
我正在構建一個應該在運行時動態生成的搜索掩碼。我從另一篇文章中知道我應該爲此使用一個dataTable。那是我會做的。
但是搜索掩碼由3部分組成,搜索標準(例如姓名,生日,...),操作符(不大於,在範圍內......)和操作數(用戶將作爲搜索輸入提供的內容)。
我的目標是動態生成search-mask,但輸入字段的類型取決於用戶選擇了哪個標準+運算符。
因此,如果用戶從下拉框中選擇了標準:「name」和operator:「is not」,那麼操作數的輸入字段應該只是一個簡單的p:inputText。
但是,如果用戶選擇標準「生日」和運營商:「之前」,那麼輸入字段應該是日期選擇器,如p:日曆。
我的想法是使用p:dataTable作爲「SearchRow」對象列表,其中每個對象都有一個標準和操作數數組,以在h:selectOneMenu中使用它們。
然後,我將一個valueChangeListener添加到selectMenues,然後在那裏計算並創建我需要的UIComponent類型作爲inputfield。
但我不知道如何將該UICOmponent添加爲dataTable中的第3列。
那麼,我的想法有什麼好處,是否有辦法解決我的問題?
在此先感謝!