使用 <ui:include 时强制使用 HTML 标记>



我使用的是Primefaces 5.2,这是我的索引:

<!DOCTYPE html>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>Demo</title>
<!-- Incluyendo CSS: -->
<link rel="stylesheet" href="./css/style.css" type="text/css" media="all" />
</h:head>
<h:body >
<div id="header">
<h:form id="ribbon">
<ui:include src="/ribbon.xhtml"/>               
</h:form>
</div>
<div id="section">
<ui:include src="#{navegacion.pageName}.xhtml"/> 
</div>
<div id="footer">
<ui:include src="/footer.xhtml"/>
</div>
</h:body>
</html>

还有我的导航豆:

package prueba;
import javax.faces.bean.ManagedBean;
import javax.faces.view.*;
@ManagedBean
@ViewScoped
public class navegacion {
private String pageName="condominios";
public navegacion() {
}          
public String getPageName() {
return pageName;
}
public void setPageName(String pageName) {
this.pageName = pageName;
}
}

这就是问题所在:ribbon.html有一个像菜单一样的功能区组件来访问整个网站,敏感的想法是这样放:

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:body>    
<!-- Aqui agregamos un menu ribbon -->
<p:ribbon>
<!-- Ribbon Code Here -->
</p:ribbon>
</h:body>
</ui:composition>

但这消除了CSS样式,无法正常工作,相反,我被迫制作:

<!DOCTYPE html>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>Ribbon</title>
<link rel="stylesheet" href="./css/style.css" type="text/css" media="all" />    
</h:head>
<p:ribbon >
<!-- Ribbon Code Here -->
</p:ribbon>
</html>

这可以正常工作,Primefaces中嵌入的css主题也可以工作,但对我来说,如果我在footer.xhtml功能区中使用另一个HTML标记失败,为什么我被迫使用ribbon.HTML中的HTML标记,这是一个错误。

事实上,我在使用这个布局方案中的ui:include/ui:组件(Ribbon/navigationBean(content)/footer)时遇到了问题,因为我放在content.xhtml中的每个组件(我用navigationBean调用它,请参阅index.xhtml)都不起作用。

我认为这两个问题是相关的,也许解决第一个问题是解决另一个问题的关键。

我正试图用一个模板来解决这个问题,但它也不起作用。

问题是导入,在Bean中我放了这个:

import javax.faces.bean.ManagedBean;
import javax.faces.view.*;
@ManagedBean
@ViewScoped

而且是错误的,正确的导入是这样的:

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
@ManagedBean
@ViewScoped

这解决了我早些时候评论的两个问题。

相关内容

  • 没有找到相关文章

最新更新