0

我正在尝试在 t:popup 上运行示例代码。我复制的代码如下。

    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>

    <f:view>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>t:popup example</title>
    <style type="text/css">
    <!--
       .popClass{
           background-color:#F1F1F1;
       }
    -->
    </style>
    </head>
    <body>
    <h:form>
      <t:popup styleClass="popClass"
               closePopupOnExitingElement="true"
               closePopupOnExitingPopup="true"
               displayAtDistanceX="0"
               displayAtDistanceY="0">
            <h:outputText value="JSF tutorials and examples." style="font-weight:bold;"/>
            <f:facet name="popup">
               <h:panelGrid columns="1" >
                 <h:commandLink value="http://roseindia.net/jsf" />
                 <h:commandLink value="http://myfaces.apache.org" /> 
               </h:panelGrid>
            </f:facet>
      </t:popup>
     </h:form>
    </body>
    </html>
    </f:view>

我正在使用 JSF 2.0 和 Tomahawk 1.1.13。我也在 Apache tomcat 7 上运行该应用程序。我不知道问题出在哪里,但只有 outputText 显示,当我在文本上执行鼠标悬停时没有任何反应。

这是我第一次使用 t:popup。如果有人遇到类似的问题,请告诉我您是如何解决的。

谢谢,简

4

1 回答 1

1

从 JSF 2.0 开始,静态资源处理得到了改进。组件库的组件所依赖的 JS/CSS 文件由新@ResourceDependency注解自动包含。这需要一个<h:head>组件。

但是,您使用的是自 JSF 2.0 以来已弃用的 JSP,因此您将无法使用所有新的 JSF 2.0 特定功能/增强功能,包括<h:head>标记。

如果您用其后续的 Facelets (XHTML) 替换旧版 JSP,那么您将能够使用该<h:head>标记,最后<t:popup>将能够自动包含其 JS/CSS 文件,这些文件对于功能和视觉外观是必不可少的。

也可以看看:


与具体问题无关,当涉及到 Java EE 相关教程/资源时,roseindia.net 是最糟糕的站点之一。您似乎还混淆/混淆了 JSF 1.x 和 JSF 2.x 目标教程。在学习 JSF 2.x 时,您绝对不应该查看针对 JSF 1.x 的资源,因为这只会让您感到困惑,因为与旧的 JSF 1.x 相比,JSF 2.x 中的许多事情都不同。

也可以看看:

于 2012-08-28T14:32:20.487 回答