Facelets模板客户端未正确渲染模板顶部组件问题求助
Facelets模板客户端未正确渲染模板顶部组件问题求助
我刚入门Java Web/Java EE技术栈,现在正试着在我的Web应用里实现Facelets模板和对应的客户端。我已经查阅了很多关于JSP、JSF和Facelets的讨论帖子,但没找到和我当前遇到的问题匹配的内容,所以来这里求助。
我使用的开发环境如下:
- NetBeans 22
- Tomcat 11.0
- JDK 22
我创建了一个Maven Web项目,在WEB-INF/templates目录下放置了名为BasicTemplate.xhtml的Facelets模板,同时编写了模板客户端文件Index.xhtml,具体代码如下:
模板文件:BasicTemplate.xhtml
<?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:ui="jakarta.faces.facelets" xmlns:h="jakarta.faces.html"> <h:head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <h:outputStylesheet name="./css/default.css"/> <h:outputStylesheet name="./css/cssLayout.css"/> <title>Facelets Template</title> </h:head> <h:body> <div id="top" class="top"> <ui:insert name="top"><h1>Top Content Of the Page</h1></ui:insert> </div> <div id="content" class="center_content"> <ui:insert name="content">Content</ui:insert> </div> </h:body> </html>
模板客户端文件:Index.xhtml
<?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:ui="jakarta.faces.facelets"> <body> <ui:composition template="./WEB-INF/templates/BasicTemplate.xhtml"> <ui:define name="content"> content in Index HTML </ui:define> </ui:composition> </body> </html>
我的问题与期望
我期望最终页面能够实现由Index.xhtml自定义模板中的top区域内容的效果(而不是仅显示模板里默认的"Top Content Of the Page"文本),但目前无论怎么调试都没法达到预期。我实在搞不清哪里出了问题,恳请各位帮忙指点一下,谢谢大家!
内容来源于stack exchange
相关产品推荐
相关产品推荐

