创建Facelets视图并映射Faces Servlet

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视图并映射Faces Servlet

文章图片
这是创建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>

运行索引文件后, 将显示以下输出。
输出:
//索引页
创建Facelets视图并映射Faces Servlet

文章图片
//回应页面
创建Facelets视图并映射Faces Servlet

文章图片
映射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>

    推荐阅读