[Java EE 7] JSF Facelets 快速入门
编程技术  /  houtizong 发布于 3年前   113
<?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://xmlns.jcp.org/jsf/html"> <h:head> <title>My Facelet Page Title</title> </h:head> <h:body> Hello from Facelets </h:body></html>
前缀 | URI | 例子 |
h | http://xmlns.jcp.org/jsf/html | h:head, h:inputText |
f | http://xmlns.jcp.org/jsf/core | f:facet, f:actionListener |
c | http://xmlns.jcp.org/jsp/jstl/core | c:forEach, c:if |
fn | http://xmlns.jcp.org/jsp/jstl/functions | fn:toUpperCase, fn:contains |
ui | http://xmlns.jcp.org/jsf/facelets | ui:component, ui:insert |
Hello from Facelets, my name is #{name.value}!
@Named@RequestScopedpublic class Name { private String value; //. . .}
@Stateless@Namedpublic class CustomerSessionBean { public List<Name> getCustomerNames() { //. . . }}
<h:dataTable value="#{customerSessionBean.customerNames}" var="c"> <h:column>#{c.value}</h:column></h:dataTable>
标记 | 描述 |
ui:composition | 定义了页面使用的布局,有一个可选的属性 template。如果使用了 template 属性,表示这个标签下的所有元素都将使用 template 属性定义的模板布局,如果没有使用 template 属性,表示这只是一组元素,可以插入到任何地方。这个标签之外的任何内容都会被忽略。 |
ui:insert | 用在模板文件中,定义了占位符,会被普通页面中的内容替换。跟它相对应的标签是普通页面中的 ui:define 标签,占位符会被普通页面中 ui:define 中的内容替换。 |
ui:define | 用在普通页面中,用于定义替换模板文件中占位符的内容。 |
ui:component | 在 JSF 树中插入新的 UI 组件,在这个标签之外的所有内容将会被忽略。 |
ui:fragment | 类似于 ui:component 标签,但不会忽略标签之外的内容。 |
ui:include | 使用 src 属性包含另外的文档到当前文档中。 |
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://xmlns.jcp.org/jsf/facelets" xmlns:h="http://xmlns.jcp.org/jsf/html"><h:body> <div id="top"> <ui:insert name="top"> <h1>Facelets are Cool!</h1> </ui:insert> </div> <div id="content"> <ui:insert name="content">Content</ui:insert> </div> <div id="bottom"> <ui:insert name="bottom"> <center>Powered by GlassFish</center> </ui:insert> </div></h:body></html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://xmlns.jcp.org/jsf/facelets" xmlns:h="http://xmlns.jcp.org/jsf/html"> <body> <ui:composition template="./template.xhtml"> <ui:define name="content"> <h:dataTable value="#{customerSessionBean.customerNames}" var="c"> <h:column>#{c.value}</h:column> </h:dataTable> </ui:define> </ui:composition> </body></html>
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成
网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];
文章归档
文章标签
友情链接