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

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

目录
相关文章
|
2月前
|
人工智能 JavaScript 程序员
vue中内置指令v-model的作用和常见使用方法介绍以及在自定义组件上支持
vue中内置指令v-model的作用和常见使用方法介绍以及在自定义组件上支持
219 0
|
3月前
|
JavaScript 前端开发 编译器
模板编译template的背后,究竟发生了什么事?带你了解template的纸短情长
该文章深入探讨了Vue.js中从模板(template)到渲染(render)过程中的编译机制,解释了模板是如何被转化为可执行的渲染函数,并最终呈现为用户界面的全过程。
|
7月前
|
前端开发 数据可视化 UED
【Web 前端】标签上title与alt属性有什么区别?
【4月更文挑战第22天】【Web 前端】标签上title与alt属性有什么区别?
|
XML Java 数据格式
J2EE&JSP自定义标签库01&out标签&if标签
J2EE&JSP自定义标签库01&out标签&if标签
|
JavaScript
Vue antdv a-select 自定义 dropdownRender 的内容放到头部
Vue antdv a-select 自定义 dropdownRender 的内容放到头部
1670 0
Go语言之自定义模板,引用多个模板html文件嵌套使用
Go语言之自定义模板,引用多个模板html文件嵌套使用
297 0
Go语言之自定义模板,引用多个模板html文件嵌套使用
|
JavaScript Java 数据库连接
17、SpringBoot2.0中初始化数据和不校验 html 标签(十七)
我们在做测试的时候经常需要初始化导入一些数据,如何来处理呢?会有两种选择,一种是使用 Jpa,另外一种是 Spring JDBC 。两种方式各有区别下面来详细介绍。
166 0
|
Java 数据库
FreeMarker 模板来定义字符串模板
FreeMarker 模板来定义字符串模板
348 0
FreeMarker 模板来定义字符串模板
|
Java Android开发
Struts2【UI标签、数据回显、资源国际化】(二)
Struts2【UI标签、数据回显、资源国际化】
141 0
Struts2【UI标签、数据回显、资源国际化】(二)
下一篇
DataWorks