开发者

Problem trying to do an "include" in JSF

I'm trying to include a chunk of static html in all of my pages. I tried the code below and it didn't work. I've also tried a few other ways and can't get it to work. I was reading abo开发者_开发百科ut somehow using ui tags, but I couldn't get that to work either. What do I need to do to include a page with JSF.

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:a4j="http://richfaces.org/a4j"
    xmlns:rich="http://richfaces.org/rich">

<h:head>
...
</h:head>
<h:body>

    <jsp:include src="/common/includes/founcred1.html" />
...
</h:body>


Given the XML syntax of your markup, you seem to be using Facelets (*.xhtml) as view technology. Facelets is a completely distinct view technology and the successor of JSP. You should not be using JSP tags in Facelets. Forget JSP for now. Use Facelets tags. They are to be declared by the XML namespage xmlns:ui="http://java.sun.com/jsf/facelets". To include page fragments in Facelets, use <ui:include> tag.

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:a4j="http://richfaces.org/a4j"
    xmlns:rich="http://richfaces.org/rich">
    <h:head>
        ...
    </h:head>
    <h:body>
        <ui:include src="/common/includes/founcred1.xhtml" />
    </h:body>
</html>

You only need to rename your founcred1.html to founcred1.xhtml and wrap the content in an <ui:composition>.

<ui:composition 
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets">
    <p>HTML here</p>
</ui:composition>

See also:

  • When to use <ui:include>, tag files, composite components and/or custom components?


  • You have not declared the jsp namespace.: xmlns:jsp="http://java.sun.com/JSP/Page"
  • I've include pages like this: <jsp:directive.include file="xxx.jspx"/>
  • The included page should be a valid xml file as well.
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜