我刚刚创建了一个新的IceFaces应用程序,并试图在所有页面中包含一个导航栏。当我使用jsp:directive.include标记时,文件是包含的,但是当我使用jsp:include时,它似乎没有被加载。实际上,当我在浏览器中检查HTML源代码时,所包含的文件就好像完全是空的。我不想使用jsp:directive.include,因为它不会自动显示对包含的文件的任何更新。
我的环境:Eclipse3.5,Tomcat 6,JSF1.2,IceFaces 1.8。
重现问题和代码片段的步骤:
http://www.w3.org/TR/html4/loose.dtd”/>测试文件
<ice:form> <ice:panelGrid columns="1" width="152"> <ice:graphicImage url="./img/image.jpg"></ice:graphicImage> <ice:panelCollapsible expanded="true"> <f:facet name="header"> <ice:panelGroup> <ice:outputText value="Customer"/> </ice:panelGroup> </f:facet> <ice:panelGrid columns="1"> <ice:commandLink action="customer"><ice:outputText value="Customer name" /></ice:commandLink> </ice:panelGrid> </ice:panelCollapsible> </ice:panelGrid> </ice:form> </body> </html> </f:view>
几点意见:
directive.include标记时,将加载包含的文件。但是如果我改变了它,它就不会自动重新发布。发布于 2010-10-03 14:06:51
首先,您必须分离和区分几种技术:
不能在JSPX页面中使用<jsp:include>。您必须将JSPX页面转换为JSP页面。您需要将文件.jspx重命名为.jsp,并用.jsp标记替换JSPX特定的标记。下面是一个JSP与JSF/IceFaces的入门示例:
<%@ page pageEncoding="ISO-8859-1" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://www.icesoft.com/icefaces/component" prefix="ice"%>
<!DOCTYPE html>
<f:view>
<html lang="en">
<head>
<title>Title</title>
</head>
<body>
<jsp:include page="include.jsp" />
</body>
</html>
</f:view>https://stackoverflow.com/questions/3849515
复制相似问题