Facelets视图是XHTML页面。你可以通过在页面上添加组件, 将组件连接到支持Bean的值和属性以及在组件上注册转换器, 验证器或侦听器来创建网页或视图。
XHTML网页充当前端。你的应用程序的第一页默认为index.xhtml。
网页的第一部分声明了页面的内容类型, 即XHTML:
<
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
下一节将指定XHTML页面的语言, 然后为该网页中使用的标记库声明XML名称空间。
<
html lang="en"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core">
// 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:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core">
<
h:head>
<
title>
Jsf Form<
/title>
<
/h:head>
<
h:body>
<
h:form id="form">
<
h:outputLabel for="username">
User Name<
/h:outputLabel>
<
h:inputText id="name" value="http://www.srcmini.com/#{user.name}" required="true">
<
f:validateRequired for="name" />
<
/h:inputText>
<
br/>
<
h:commandButton value="http://www.srcmini.com/OK" action="response.xhtml">
<
/h:commandButton>
<
/h:form>
<
/h:body>
<
/html>
Facelets HTML标记以h:开头, 用于在网页上添加组件, 而核心标记f:validateRequired用于验证用户输入。
h:inputText标记接受用户输入, 并通过EL表达式#{user.name}设置托管bean属性名称的值。
运行index.xhtml文件后, JSF将呈现HTML索引页。输出如下。
//输出:索引页
文章图片
这是创建Facelets视图的过程。现在, 你可以创建第二个xhtml页面作为response.xhtml, 如下所示。
// response.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:h="http://xmlns.jcp.org/jsf/html">
<
h:head>
<
title>
Response Page<
/title>
<
/h:head>
<
h:body>
<
h1>
Hello #{user.name}
<
/h1>
<
/h:body>
<
/html>
运行索引文件后, 将显示以下输出。
输出:
//索引页
文章图片
//回应页面
文章图片
映射Faces Servlet JavaServer Faces应用程序的配置是通过在Web部署描述符文件web.xml中映射Faces Servlet来完成的。
在NetBeans IDE中, 将自动为你创建一个Web部署描述符文件。自动生成的web.xml文件在下面给出。
【创建Facelets视图并映射Faces Servlet】// web.xml
<
?xml version="1.0" encoding="UTF-8"?>
<
web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<
context-param>
<
param-name>
javax.faces.PROJECT_STAGE<
/param-name>
<
param-value>
Development<
/param-value>
<
/context-param>
<
servlet>
<
servlet-name>
Faces Servlet<
/servlet-name>
<
servlet-class>
javax.faces.webapp.FacesServlet<
/servlet-class>
<
load-on-startup>
1<
/load-on-startup>
<
/servlet>
<
servlet-mapping>
<
servlet-name>
Faces Servlet<
/servlet-name>
<
url-pattern>
/faces/*<
/url-pattern>
<
/servlet-mapping>
<
session-config>
<
session-timeout>
30
<
/session-timeout>
<
/session-config>
<
welcome-file-list>
<
welcome-file>
faces/index.xhtml<
/welcome-file>
<
/welcome-file-list>
<
/web-app>
推荐阅读
- JSF Bean验证
- Facelets模板
- JSF Facelets语言
- hppsdr.exe进程指南(HP Print and Scan Doctor)(详细信息介绍)
- 如何在Windows 10中删除临时文件(操作分步指南)
- Win8.1升级Win10出现0xc1900101-0x30018出错怎样处理?
- Win8电脑卡在正在关机界面怎样处理?
- Win8.1提示“sgtool.exe损坏的映像”怎样办?
- Windows8如何查看计算机基本信息?