java jsf 入门_JSF入门实战

JSF入门实战

JavaServer Faces(JSF)是一个服务器端的用户界面(UI)为基础的Web应用程序的Java框架。

JSF允许你实现MVC设计模式。特点如下:

将组件绑定到服务器端的模型。

处理模型与页面导航UI事件响应的相互作用。

管理UI组件在服务器的请求状态。

提供简单客户端服务器端应用程序生成的事件模型

代码。

轻松创建和重用自定义UI组件。

JSF应用程序包括:

用户界面网页。

服务器端模型

(通常是CDI bean)

web.xml。

可选配置文件faces-config.xml。

Facelets

Facelets是视图声明语言(又名JSF视图处理器)。

你可以定义一个简单的Facelets使用XHTML页面:

/p>

PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

xmlns:h="http://xmlns.jcp.org/jsf/html">

My Facelet Page Title

Hello from Facelets

Facelets提供表达式语言(EL)的整合。这允许bean和界面之间双向数据绑定:

Hello from Facelets, my name is #{name.value}!

在这段代码中,# {名称} 指的是一个请求Name对象的值value:

@Named

@RequestScoped

public class Name {

private String value;

//. . .

}

@Named有助于注入。

Facelets提供了一个强大的Layout布局模板系统(类似Tiles),一个布局模板页面看起来像:

Facelets are Cool!

Content

Powered by GlassFish

这里用了ui:insert ,定义这里插入模板客户端页面的内容,在模板客户端页面中

ui:define标签将替代这个内容。 模板客户端页面如下:

xmlns:h="http://xmlns.jcp.org/jsf/html">

value="#{customerSessionBean.customerNames}" var="c">

#{c.value}

在这段代码中,ui:insert 的名称为"top"和"bottom"没有定义,定义了名称为content的内容,所以,这段内容被插入前面ui:insert name="content"中。

资源处理(Resource Handling)

JSF的定义一个标准的方式处理资源,如图片,CSS,JavaScript

文件。

这些资源可以被封装在classpath中的/resources目录或者/META-INF/resources中。

资源用EL表示:

click here

header.jpg捆绑在标准的资源目录。

如果资源是捆绑在一个corp库包中:

JavaScript如下使用:

name="myScript.js" library="scripts" target="head"/>

myscript.js是一个JavaScript资源,封装在

标准资源目录脚本的目录中。

一个CSS样式表下面这样使用:

复合组件(Composite Components)

通过使用Facelets和资源处理功能,JSF定义了一个复合组件,例如显示登录表单:

value="submit"/>

本代码提供一个两行三列的表格。用于输入name和password两个字段,点按提交可以进行登录。

ea1fc136403d78adfb78081b88ecd830.png


版权声明:本文为weixin_39678525原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。