HTML DIV當阿帕奇我面臨JSF 1.2實現呈現HTML頁面的幕後,是它甚至可以設定/代碼東西,將顯示一個純HTML表/ DIV(不是JSF組件) 有條件的。當我搜索時,我看到,使用h:panelGroup是一個解決方案,但我還沒有嘗試過,在這裏發佈任何更好的方法或方法。顯示或隱藏在JSF 1.2
它幾乎就像想要說 - 寫在Java中的JavaScript代碼,並在HTML呈現注入了 - 這可能嗎?
謝謝,
HTML DIV當阿帕奇我面臨JSF 1.2實現呈現HTML頁面的幕後,是它甚至可以設定/代碼東西,將顯示一個純HTML表/ DIV(不是JSF組件) 有條件的。當我搜索時,我看到,使用h:panelGroup是一個解決方案,但我還沒有嘗試過,在這裏發佈任何更好的方法或方法。顯示或隱藏在JSF 1.2
它幾乎就像想要說 - 寫在Java中的JavaScript代碼,並在HTML呈現注入了 - 這可能嗎?
謝謝,
幾種方法。
使用<h:panelGroup layout="block">
。它呈現HTML <div>
元素。
<h:panelGroup layout="block" rendered="#{bean.condition}">
content
</h:panelGroup>
緊裹<h:panelGroup>
內的HTML <div>
元件。無需任何客戶端的屬性,如id
,styleClass
,onclick
等爲主,<h:panelGroup>
將不會呈現任何內容。有了他們將然而呈現<span>
元素(或<div>
如果layout
設置爲block
)。
<h:panelGroup rendered="#{bean.condition}">
<div>content</div>
</h:panelGroup>
緊裹<f:verbatim>
內的HTML <div>
元件。
<f:verbatim rendered="#{bean.condition}">
<div>content</div>
</f:verbatim>
它的方式並無特殊之處在於MyFaces的生成HTML。 Mojarra JSF的實現也是這樣做的。競爭對手Struts2,Spring MVC,Wicket,Tapestry等..也是。也是Microsoft ASP.NET MVC。 PHP也。事實上所有的服務器端語言。只是因爲網頁瀏覽器不瞭解它們。這隻能理解HTML/CSS/JS)
至於與Java/JSP/JSF混合JavaScript中,你會發現this article有用。
+1服務器端語言的很好的解釋。我會嘗試這些方法。謝謝。 – gekrish 2010-06-30 19:32:27
Mr @BalusC,我喜歡你的第一個方法,但問題是'layout'無法在我的jsp文件中解析。可能是什麼原因。我正在使用jsf 1.2。謝謝! – 2012-04-27 10:10:39
@Jam:它是在JSF 1.2中引入的。所以你使用的是JSF 1.1,或者你的IDE認爲你使用的是JSF 1.1。無論運行代碼,檢查瀏覽器中生成的HTML,它是否工作?然後你的IDE錯了。它不起作用嗎?那麼你顯然實際上正在使用JSF 1.1。 – BalusC 2012-04-27 11:51:11