在JSF 1.2中显示或隐藏HTML DIV

gek*_*ish 3 jsf

当Apache My Faces JSF 1.2实现在幕后呈现HTML页面时,甚至可以设置/编码将有条件地显示纯HTML表/ DIV(而不是jsf组件)的东西.当我搜索时,我看到了,使用h:panelGroup是一个解决方案,但我还没有尝试过,在这里发布任何更好的方法或方法.

它几乎想要说 - 在java中编写一个javascript代码并在呈现HTML时注入它 - 是否可能?

谢谢,

Bal*_*usC 12

几种方式.

  1. 使用<h:panelGroup layout="block">.它呈现一个HTML <div>元素.

    <h:panelGroup layout="block" rendered="#{bean.condition}">
        content
    </h:panelGroup>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 将HTML <div>元素包装在一个<h:panelGroup>.无需任何客户端的属性,如id,styleClass,onclick等为主,<h:panelGroup>将不会呈现任何内容.然而,使用它们会渲染一个<span>元素(或者<div>如果layout设置为block).

    <h:panelGroup rendered="#{bean.condition}">
        <div>content</div>
    </h:panelGroup>
    
    Run Code Online (Sandbox Code Playgroud)
  3. 将HTML <div>元素包装在一个<f:verbatim>.

    <f:verbatim rendered="#{bean.condition}">
        <div>content</div>
    </f:verbatim>
    
    Run Code Online (Sandbox Code Playgroud)

MyFaces生成HTML的方式并不那么特别.Mojarra JSF实现也是如此.竞争对手Struts2,Spring MVC,Wicket,Tapestry等等.也.Microsoft ASP.NET MVC也.PHP也.事实上所有服务器端语言.仅仅是因为webbrowser不理解它们.它只能理解HTML/CSS/JS;)

至于将JavaScript与Java/JSP/JSF混合,您可能会发现本文很有用.