`
may_cauc
  • 浏览: 43805 次
社区版块
存档分类
最新评论

myfaces 中 Horizontal Panel Navigation 不能使用的解决办法

阅读更多
java 代码

最近想用myfaces网站上的Horizontal Panel Navigation ,结果copy它的例子都不能使用。google一番,发现如下解决方案。

来源:http://www.nabble.com/Horizontal-Panel-Navigation---panelNavigation2-tf2035583.html#a5600977

能够运行的代码如下

 

<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>

<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t" %>

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>


<html>

<head>

<meta http-equiv="content-type" content="text/html; charset=UTF-8">

<link rel="shortcut icon" href="http://www.gluonvision.com/images/myfaces.ico">

<script type="text/javascript">

<!--


startList = function()

{

if (document.all && document.getElementById)

{

// *************************************************************************

// RM-comment: HERE IS THE CHANGE TO "hNav_outer" from

// http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/resources/org/apache/myfaces/custom/navmenu/htmlnavmenu/resource/HMenuIEHover.js?revision=427657&view=markup

// *************************************************************************

navDivRoot = document.getElementById("myhNav_outer");

navRoot = navDivRoot.childNodes[0];

for (i=0; i<navRoot.childNodes.length; i++)

{

node = navRoot.childNodes[i];

if (node.nodeName=="LI")

{

node.onmouseover=function()

{

this.className+=" over";

}

node.onmouseout=function()

{

this.className=this.className.replace(" over", "");

}

}

}

}

}

window.onload=startList;

// -->

</script>


<style type="text/css">


body { font-family : arial, verdana, Geneva, Arial, Helvetica, sans-serif; font-size : 14px; }


/*

RM-comment: this is the section from the original css/basic.css file, but:

"hNav_outer got replaced by "myhNav_outer", "on" by "on2", and "off" by "off2".



--------------------------------------------------------------

Horizontal Panelnavigation

--------------------------------------------------------------

*/

#myhNav_outer {

margin: 0;

padding: 0;

height: 60px;

width: 800px;

}

#myhNav_outer ul {

padding: 0;

margin: 0;

}

#myhNav_outer ul li ul {

margin: 0;

padding: 0;

}

#myhNav_outer ul a {

text-decoration: none;

}

#myhNav_outer ul li { /*float the main list items*/

margin: 0;

float: left;

display: block;

padding: 5px;

}

#myhNav_outer ul li ul {

display: none;

}

#myhNav_outer ul li.off2 ul, #myhNav_outer ul li.on2 ul { /*put the subnav below*/

position: absolute;

top: 36px;

*top: 44px;/*reposition for IE*/

background: #224d6f;

left: 13px;

*left: 15px;

width: 740px;

}

#myhNav_outer ul li.on2 ul {

display: block;

background: #f90;

}

#myhNav_outer ul li.on2:hover ul, #myhNav_outer ul li.over ul { /*for ie*/

background: #224d6f;

}

#myhNav_outer ul li a {

color: #224d6f;

font-weight: bold;

display: block;

padding: 5;

}

#myhNav_outer ul li.on2 a {

color: #fff;

background: #f90;

}

#myhNav_outer ul li.on2 ul a, #myhNav_outer ul li.off2 ul a {

float: left; /*ie doesn't inherit the float*/

border: 0;

color: #f90;

width: auto;

}

#myhNav_outer ul li.on2:hover ul a, #myhNav_outer ul li.over ul li a { /*for ie - the specificity is necessary*/

background: #224d6f;

}

#myhNav_outer ul li.off2:hover ul, #myhNav_outer ul li.over ul {

display: block;

z-index: 6000;

}

#myhNav_outer ul li.off2 a:hover, #myhNav_outer ul li:hover a, #myhNav_outer ul li.over a {

background: #29497b;

color: #f90;

}

#myhNav_outer ul li.off2 a:hover, #myhNav_outer ul li.on2 a:hover {

color: #f90;

}

/*subnav formatting*/

#myhNav_outer ul li.off2 ul a {

display: block;

background: #224d6f;

color: #fff;

}

#myhNav_outer ul li.on2 ul a {

display: block;

background: #f90;

color: #fff;

}

</style>


</head>

<body>

<f:view>


<t:div id="myhNav_outer" forceId="true">

<t:panelNavigation2 id="mynav1" layout="list" itemClass="off2" activeItemClass="on2" openItemClass="on2"

renderAll="true">

<t:commandNavigation2>

<t:outputText value="Issues ..."/>

<t:commandNavigation2>

<f:verbatim>&#8250; </f:verbatim>

<t:outputText value="MyFaces Documentation ..."/>

</t:commandNavigation2>

<t:commandNavigation2 externalLink="http://www.drupal.org" target="_blank">

<t:outputText value="what the PHP world can do ..."/>

</t:commandNavigation2>

<t:commandNavigation2>

<f:verbatim>&#8250; </f:verbatim>

<t:outputText value="missing examples ..."/>

</t:commandNavigation2>

</t:commandNavigation2>

</t:panelNavigation2>

</t:div>

</f:view>

</body></html>

 

分享到:
评论

相关推荐

    MyFaces组件最新源代码

    7. **国际化与本地化**:MyFaces支持多语言环境,源代码中会包含如何配置和使用资源包进行国际化处理的示例。 8. **性能优化**:通过对源代码的研究,开发者可以学习到如何优化JSF应用,比如减少请求处理时间,优化...

    使用JSF和MyFaces实现文件上载

    虽然本文提供了基本的指导,但在实际开发中,深入理解MyFaces和Apache Commons FileUpload的工作原理对于高效地使用这些工具至关重要。这包括理解文件上传的底层机制、如何优化性能、如何处理大文件上传,以及如何...

    MyFaces 上下文参数详解(中、英文)

    如果设置为`false`,MyFaces将尝试使用一种轻量级的机制来存储状态,这可能减少服务器内存使用,但可能不适用于所有情况。 三、`org.apache.myfaces.USE_CUSTOM_SKINNING` 此参数允许开发者自定义MyFaces的皮肤。...

    myfaces

    myfaces 的一个工程

    myfaces-core-2.0.1-bin.zip

    MyFaces是Apache软件基金会开发的一个开源JavaServer Faces (JSF)实现项目,它提供了一整套用于构建Web应用程序的...在实际开发中,理解MyFaces的工作原理、配置方法以及与其他技术的集成,将对提升开发效率大有裨益。

    JSF MyFaces 开发文档

    ### JSF MyFaces 开发知识点详解 #### 一、JSF与MyFaces简介 - **JSF (JavaServer Faces)**:是一种基于Java EE标准的Web应用程序框架,它为开发人员提供了一种简单的方法来构建用户界面。JSF的核心是组件模型,这...

    iceface-myfaces例子

    通过深入研究“sample-icefaces-myfaces-portlet.war”,开发者不仅可以学习到ICEfaces和MyFaces的基本用法,还能了解到portlet的开发流程,这对于构建企业级的、可复用的Web组件具有重要的参考价值。同时,这种集成...

    myfaces-1.1.5

    描述提到 "myfaces是apache开源对jsf的扩展",这意味着 MyFaces 不仅仅是 JSF 的一个简单实现,它还提供了一系列的扩展功能和增强,以满足开发者在实际项目中的需求。JSF 是一个用于构建企业级 Web 应用程序的 Java ...

    myfaces-core-1.2.6-bin.zip

    《MyFaces Core 1.2.6:Java服务器端组件框架的深度剖析》 MyFaces Core 1.2.6 是一个...理解并掌握MyFaces Core 的工作原理和使用方法,将有助于提升开发效率,优化应用性能,同时也能更好地利用Java EE平台的优势。

    myfaces-all.jar.zip

    《MyFaces 全集:深入理解myfaces-all.jar.zip》 MyFaces,作为一个开源的JavaServer Faces (JSF)实现,是Java Web开发中的一个重要组件。这个名为"myfaces-all.jar.zip"的压缩包,包含了MyFaces的核心库以及相关的...

    myfaces标签库

    以上代码展示了如何使用MyFaces标签库中的`&lt;h:outputText&gt;`, `&lt;h:inputText&gt;`, `&lt;h:message&gt;`和`&lt;h:commandButton&gt;`等标签创建一个简单的登录表单。`#{bean.userName}`和`#{bean.password}`通过表达式绑定到后端Bean...

    myfaces的jar包,是官网最新的。

    MyFaces是JavaServer Faces(JSF) Web框架 (JSR 127)的一个实现。JavaServer(tm) Faces Web框架是一个新的实现MVC模式的规范.它可以与Struts框架相媲美甚至的一些特性与观念已经超过了Struts.【FacesIDE:Eclipse下的...

    用JSF和MyFaces上传文件

    在描述中提到,虽然Java Web标准如Servlets、JSP和JSF本身不直接支持文件上传功能,但可以通过第三方库如Apache Commons File Upload和Apache MyFaces等来实现。 Apache Commons File Upload是一个非常流行的Java库...

    JSF及Myfaces帮助

    JSF及Myfaces帮助.CHM

    Hibernate 与 MyFaces的整合

    虽然Hibernate文档中有相关指导,但这种方式容易出错,且代码冗余,不推荐。 ### 自动处理机制 为了简化这一过程,推荐使用自动处理机制。其中,最常见的策略是一次HTTP请求对应一个Hibernate Session,这样可以...

    myfaces api

    开发者可以在JSF组件属性中使用EL表达式,以动态地设置和获取值。 7. ** FacesContext**:它是JSF框架的核心上下文对象,包含了请求、响应和会话的相关信息,以及对JSF API的访问。 8. ** Managed Beans**:...

    myfaces源代码

    你可以通过阅读源码来探究其内部工作原理,解决实际开发中的问题,甚至参与到MyFaces的开发和贡献中去。同时,这种深入学习也能帮助你更好地过渡到更现代的MyFaces版本或其他JSF实现,如Mojarra。

    myfaces-impl2.2.chm api文件

    chm api myfaces jsf2.2

    Apache MyFaces 1.1.6相关jar包

    进行jsf开发的相关jar包,采用Apache MyFaces 1.1.6版本.包含commons-beanutils-1.7.0,commons-collections-3.1,commons-digester-1.8,commons-el-1.0,commons-lang-2.1,commons-logging-1.1.1,jstl-1.1.0,...

    myfaces官方demo

    3. **问题解决**:如果你在开发过程中遇到问题,官方Demo可能已经包含了对应的解决方案,或者能给你启发,帮助你找到问题的答案。 4. **最佳实践**:通过研究Demo,你可以学习到如何编写高效、可维护的MyFaces代码...

Global site tag (gtag.js) - Google Analytics