JSF教程 - JSF基本标签
JSF提供了一个标准的HTML标签库,它们被渲染成相应的html输出。
为了使用这些标签,我们需要在html节点中使用以下URI的命名空间。
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" >
JSF基本标签
以下是JSF 2.0中的重要基本标签。
| 标签 | 描述 | 
|---|---|
| h:inputText | type =“text"的HTML输入,文本框。 | 
| h:inputSecret | type =“password"的HTML输入,文本框。 | 
| h:inputTextarea | HTML textarea字段。 | 
| h:inputHidden | type =“hidden”的HTML输入。 | 
| h:selectBooleanCheckbox | 单个HTML复选框 | 
| h:selectManyCheckbox | 一组HTML复选框 | 
| h:selectOneRadio | 单个HTML单选按钮。 | 
| h:selectOneListbox | 单个HTML列表框。 | 
| h:selectManyListbox | 多个HTML列表框。 | 
| h:selectOneMenu | HTML组合框。 | 
| h:outputText | HTML文本。 | 
| h:outputFormat | HTML文本。 | 
| h:graphicImage | HTML图像。 | 
| h:outputStylesheet | HTML CSS样式表。 | 
| h:outputScript | HTML脚本输出。 | 
| h:commandButton | type =“submit"按钮的HTML输入。 | 
| h:Link | HTML锚点。 | 
| h:commandLink | HTML锚点。 | 
| h:outputLink | HTML锚点。 | 
| h:panelGrid | HTML表格形式的网格。 | 
| h:message | JSF消息 | 
| h:messages | 许多JSF消息。 | 
| f:param | JSF UI组件的参数。 | 
| f:attribute | JSF UI组件的属性。 | 
| f:setPropertyActionListener | 设置受管Bean的属性的值。 | 
  
JSF教程 - JSF表单文本框示例
h:inputText标签渲染类型为“text"的HTML输入元素。
以下JSF标记
<h:inputText value="Hello World!" />
将被渲染到以下HTML标记
<input type="text" name="j_idt6:j_idt8" value="Hello World!" />
j_idt6:j_idt8由JSF生成。
h:inputText标签属性
下表列出了h:inputText标记的属性。
| 属性 | 描述 | 
|---|---|
| id | 标签的标识 | 
| binding | 引用在backing bean中使用的组件 | 
| rendered | 布尔值; false将抑制渲染 | 
| styleClass | 级联样式表(CSS)类名称 | 
| value | 值绑定 | 
| valueChangeListener | 响应值更改的方法绑定 | 
| converter | 转换器类名 | 
| validator | 附加到组件的验证器的类名 | 
| required | 布尔值; 如果为true,则根据需要标记标签 | 
| accesskey | 给予一个元素的焦点 | 
| accept | 表单的内容类型的逗号分隔列表 | 
| accept-charset | 表单的字符编码的逗号或空格分隔列表。 | 
| alt | 非文字元素(例如图片)的替代文字 | 
| border | 元素的边框宽度的像素值 | 
| charset | 链接资源的字符编码 | 
| coords | 形状为矩形,圆形或多边形的元素的坐标 | 
| dir | 文本的方向。 有效值为 ltr (从左到右)和 rtl (从右到左)。 | 
| disabled | 输入元素或按钮的禁用状态 | 
| hreflang | 使用 href 属性指定的资源的基本语言; | 
| lang | 元素的属性和文本的基本语言 | 
| maxlength | 文本字段的最大字符数 | 
| readonly | 输入字段的只读状态 | 
| style | 内联样式信息 | 
| tabindex | 指定制表符索引的数值 | 
| target | 打开文档的框架的名称 | 
| title | 用于辅助功能的标题。 浏览器通常为标题的值创建工具提示 | 
| type | 链接类型; 例如样式表 | 
| width | 元素的宽度 | 
| onblur | 失去焦点的事件处理程序 | 
| onchange | 值更改的事件处理程序 | 
| onclick | 鼠标按钮的事件处理程序点击该元素 | 
| ondblclick | 双击鼠标按钮的事件处理程序 | 
| onfocus | 元素接收焦点的事件处理程序 | 
| onkeydown | 按键的事件处理程序 | 
| onkeypress | 键按下并释放的事件处理程序 | 
| onkeyup | Key的事件处理程序发布 | 
| onmousedown | 鼠标按钮的事件处理程序 | 
| onmousemove | 鼠标移动的事件处理程序 | 
| onmouseout | 鼠标左的事件处理程序 | 
| onmouseover | 鼠标移动到的事件处理程序 | 
| onmouseup | 释放鼠标按钮的事件处理程序 | 
| onreset | 表单重置的事件处理程序 | 
| onselect | 选择文本的事件处理程序 | 
| immediate | 在生命周期的早期进行过程验证 | 
例子
下面的代码来自UserBean.java。
package cn.w3cschool.common;import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;import java.io.Serializable;@ManagedBean
@SessionScoped
public class UserBean implements Serializable {private static final long serialVersionUID = 1L;private String userName;public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}}
 
以下代码来自hello.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://java.sun.com/jsf/html"><h:body><h1>JSF 2 textbox example</h1><h:form><h:inputText value="#{userBean.userName}" /><h:commandButton value="Submit" action="welcome" /></h:form></h:body>
</html>
 
以下代码来自welcome.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://java.sun.com/jsf/html"><h:body><h1>JSF 2 textbox example</h1>Submitted value : <h:outputText value="#{userBean.userName}" /></h:body>
</html> 
下载 Form_TextField.zip
运行
将生成的WAR文件从目标文件夹复制到Tomcat部署文件夹,并运行Tomcat-Install-folder/bin/startup.bat。
Tomcat完成启动后,在浏览器地址栏中键入以下URL。
http://localhost:8080/simple-webapp/hello.xhtml