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 页面模板系统的功能与作用.

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

目录
相关文章
|
1月前
|
JavaScript 前端开发 UED
Vue class和style绑定:动态美化你的组件
Vue class和style绑定:动态美化你的组件
|
1月前
|
前端开发 数据可视化 UED
【Web 前端】标签上title与alt属性有什么区别?
【4月更文挑战第22天】【Web 前端】标签上title与alt属性有什么区别?
|
Java
核心标签是最常用的 JSTL标签
核心标签是最常用的 JSTL标签
45 0
|
JavaScript Java 数据库连接
17、SpringBoot2.0中初始化数据和不校验 html 标签(十七)
我们在做测试的时候经常需要初始化导入一些数据,如何来处理呢?会有两种选择,一种是使用 Jpa,另外一种是 Spring JDBC 。两种方式各有区别下面来详细介绍。
130 0
|
Java
strus2中页面的s标签,替换jsp的el和jstl标签
strus2中页面的s标签,替换jsp的el和jstl标签
88 0
strus2中页面的s标签,替换jsp的el和jstl标签
|
Android开发
Checkstyle全局配置中style_template.xml创建方法
Checkstyle全局配置中style_template.xml创建方法
265 0
Checkstyle全局配置中style_template.xml创建方法
|
JavaScript 前端开发 编译器
|
Java 数据库
FreeMarker 模板来定义字符串模板
FreeMarker 模板来定义字符串模板
319 0
FreeMarker 模板来定义字符串模板
如何使用ngTemplateOutlet给ng-template模板传递参数
如何使用ngTemplateOutlet给ng-template模板传递参数
223 0
如何使用ngTemplateOutlet给ng-template模板传递参数