当Apache My Faces JSF 1.2实现在幕后呈现HTML页面时,甚至可以设置/编码将有条件地显示纯HTML表格/ DIV(而不是jsf组件)的内容。当我搜索时,我看到了,使用h:panelGroup是一个解决方案,但我还没有尝试过,在这里发布任何更好的方法或方法。
它几乎想要说 - 在java中编写javascript代码并在呈现HTML时将其注入 - 是否可能?
谢谢,
答案 0 :(得分:12)
有几种方式。
使用<h:panelGroup layout="block">
。它呈现HTML <div>
元素。
<h:panelGroup layout="block" rendered="#{bean.condition}">
content
</h:panelGroup>
将HTML <div>
元素包含在<h:panelGroup>
中。如果没有任何客户端属性,例如id
,styleClass
,onclick
等,<h:panelGroup>
将不会呈现任何内容。有了它们,它会呈现<span>
元素(如果<div>
设置为layout
,则为block
。
<h:panelGroup rendered="#{bean.condition}">
<div>content</div>
</h:panelGroup>
将HTML <div>
元素包含在<f:verbatim>
。
<f:verbatim rendered="#{bean.condition}">
<div>content</div>
</f:verbatim>
MyFaces生成HTML的方式并不那么特别。 Mojarra JSF实现也是如此。竞争对手Struts2,Spring MVC,Wicket,Tapestry等等。也。 Microsoft ASP.NET MVC也。 PHP也。事实上所有服务器端语言。仅仅是因为webbrowser不理解它们。它只能理解HTML / CSS / JS;)
关于将JavaScript与Java / JSP / JSF混合使用,您可能会发现this article很有用。