JSF 中模板(template)标签指令的使用

简介: 本文介绍了JSF中模板标签的使用,通过Facelets标签指令创建网页模板。将页面分为header, content和footer三部分,分别用header.xhtml, content.xhtml和footer.xhtml定义。主模板文件通过ui:insert和ui:include将子模块组装在一起,实现页面布局。最后简要提及了JSF标签库的作用和JSTL的相关内容。

JSF 中模板(template)标签指令的使用

一、JSF 的小面板(Facelets)标签指令

image.png

二、网页模板系统定义的宏观关系

image.png

三、JSF 模板面板的创建

这个网页从上到下划分为 3 个版块或分区,则分别定义 header.xhtml、
content.xhtml 和 footer.xhtml 文件,以定义排版格式。
3.1:header.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="http://java.sun.com/jsf/facelets">
<body>
<ui:composition> <!--面板内容定义-->
<h2>默认的页面标题版块内容</h2>
</ui:composition>
</body>
</html>

3.2:content.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="http://java.sun.com/jsf/facelets">
<body>
<ui:composition> <!--面板内容定义-->
<h2>默认的内容</h2>
</ui:composition>
</body>
</html>

3.3:footer.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="http://java.sun.com/jsf/facelets">
<body>
<ui:composition> <!--面板内容定义-->
<h2>默认的页脚版块信息————XX 公司版权所有, 2021.</h2>
</ui:composition>
</body>
</html>

四、建立主模板文件,实现三个子模块页面的组装

<?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:ui="http://java.sun.com/jsf/facelets">
<h:head>
<h:outputStylesheet name="commonStyle.css" library="css" /><!--使用 css 样式-->
</h:head>
<h:body>
<div id="page">
<div id="header"> <!--html 页面区名为 header,区域显示风格设置-->
<ui:insert name="header" ><!--jsf 页面版块区名为 header,版块内容设置-->
<ui:include src="header.xhtml" /> <!--包含的版块内容-->
</ui:insert>
</div>
<div id="content">
<ui:insert name="content" >
<ui:include src="contents.xhtml" />
</ui:insert>
</div>
<div id="footer">
<ui:insert name="footer" >
<ui:include src="footer.xhtml" />
</ui:insert>
</div>
</div>
</h:body>
</html>

五、总结

标签库的功能:
主要是辅助 JSP 页面数据后数据的格式转换、输出等效率提升问题.
核心的数据处理,仍然采用 JSP 服务脚本的方式予以处理.
JSTL 标签库的组成
JSTL 标签库与页面表达式语言结合使用的方法.
JSTL 标签库中常用标签的参数与设置方法.
JSF 标签库的功能特点.
JSF 页面模板系统的功能与作用.

如果上述内容帮助到你了,点个赞支持一下吧。

目录
相关文章
|
Java
strus2中页面的s标签,替换jsp的el和jstl标签
strus2中页面的s标签,替换jsp的el和jstl标签
91 0
strus2中页面的s标签,替换jsp的el和jstl标签
|
Android开发
Checkstyle全局配置中style_template.xml创建方法
Checkstyle全局配置中style_template.xml创建方法
275 0
Checkstyle全局配置中style_template.xml创建方法
|
JavaScript 前端开发 编译器
|
Java 数据库
FreeMarker 模板来定义字符串模板
FreeMarker 模板来定义字符串模板
320 0
FreeMarker 模板来定义字符串模板
如何使用ngTemplateOutlet给ng-template模板传递参数
如何使用ngTemplateOutlet给ng-template模板传递参数
224 0
如何使用ngTemplateOutlet给ng-template模板传递参数
|
Web App开发 Java
|
PHP Python Java