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