第二百一十六节 JSF教程 - JSF基本标签、JSF表单文本框示例

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
相关推荐
小王C语言2 分钟前
Qt常用控件:输入类控件,单行/多行输入框、下拉框、(日期)微调框、旋钮、滑动条
开发语言·qt
ESDWAN6 分钟前
SD-WAN 主备切换为什么仍然会断网?从检测机制到会话恢复分析
开发语言·php
步行cgn16 分钟前
StringHttpMessageConverter 详解:Spring MVC 中字符串读写的默认转换器
java·spring·mvc
摇滚侠16 分钟前
《On Java 中文版 基础卷》阅读笔记 实现隐藏 11
java·笔记·python
1001101_QIA17 分钟前
.exe does not seem to be a Qt executable.
开发语言·qt
小蒜学长22 分钟前
基于Spring Boot+Vue3的在线医疗咨询系统的设计与实现(代码+数据库+LW)
java·spring boot·后端·在线问诊·在线医疗咨询系统
Deng桑28 分钟前
SpringAI写第一个Agent-把工单循环跑起来
java·agent·工具调用·spring ai
echome88841 分钟前
Python 异常处理:try、else、finally 的正确搭配
开发语言·前端·python·异常处理·编程技巧
云和数据.ChenGuang42 分钟前
Python 单继承与多继承深度剖析:从 MRO 到实战取舍
开发语言·人工智能·python·langchain
小咕聊编程1 小时前
基于Python的豆瓣电影数据可视化系统构建分析
开发语言·python·信息可视化