自学内容网 自学内容网

JSF HTML标签教程一口气讲完!(下)

JSF OutputScript示例

JSF教程 - JSF OutputScript示例

h:outputScript标记渲染类型为“script"的HTML元素,类型为“text/javascript"。

此标记将外部JavaScript文件添加到JSF页面。

以下JSF标记

<h:outputScript library="js" name="help.js" />

被渲染为以下HTML代码。

<script type="text/javascript" 
   src="/helloworld/javax.faces.resource/help.js.jsf?ln=js"></script>

例子

以下代码来自common.js。

document.write("www.w3cschool.cn");

下面的代码来自UserBean.java。

package cn.w3cschool.common;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
 
@ManagedBean(name="user")
@SessionScoped
public class UserBean{
 
  
}

以下代码来自demo.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:head></h:head>
    <h:body>
      
      <h:outputScript library="js" name="common.js" target="head" />
      
    </h:body>

</html>

下载 OutputScript.zip

运行

将生成的WAR文件从目标文件夹复制到Tomcat部署文件夹,并运行Tomcat-Install-folder/bin/startup.bat。

Tomcat完成启动后,在浏览器地址栏中键入以下URL。

http://localhost:8080/simple-webapp/demo.xhtml

JSF 表单命令按钮示例

JSF教程 - JSF表单命令按钮示例

h:commandButton标签渲染类型为“submit"的HTML输入元素。

下面的JSF代码

<h:commandButton value="Click Me!" οnclick="alert("Hello World!");" />

被渲染成以下HTML代码。

<input type="submit" name="j_idt10:j_idt13" value="Click Me!"
   οnclick="alert("Hello World!");" />

标签属性

属性描述
id标签的标识
rendered布尔值; false将抑制渲染
styleClass级联样式表(CSS)类名称
value值绑定
valueChangeListener响应值更改的方法绑定
required布尔值; 如果为true,则根据需要标记标签
coords形状为矩形,圆形或多边形的元素的坐标
dir文本的方向。 有效值为 ltr (从左到右)和 rtl (从右到左)。
disabled输入元素或按钮的禁用状态
style内联样式信息
tabindex指定制表符索引的数值
target打开文档的框架的名称
title用于辅助功能的标题。 浏览器通常为标题的值创建工具提示
width元素的宽度
onblur失去焦点的事件处理程序
onchange值更改的事件处理程序
onclick鼠标按钮的事件处理程序点击该元素
ondblclick双击鼠标按钮的事件处理程序
onfocus元素接收焦点的事件处理程序
onkeydown按键的事件处理程序
onkeypress键按下并释放的事件处理程序
onkeyupKey的事件处理程序发布
onmousedown鼠标按钮的事件处理程序
onmousemove鼠标移动的事件处理程序
onmouseout鼠标左的事件处理程序
onmouseover鼠标移动到的事件处理程序
onmouseup释放鼠标按钮的事件处理程序
onreset表单重置的事件处理程序
onselect选择文本的事件处理程序

例子

以下代码来自login.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>login.xhtml</h1>
      
    </h:body>

</html>

下面的代码来自UserBean.java。

package cn.w3cschool.common;


import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
 
@ManagedBean(name="user")
@SessionScoped
public class UserBean{
 
  public String goLoginPage(){
    
    return "login";
    
  }
}

以下代码来自demo.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:head></h:head>
    <h:body>
      
      <h1>JSF 2 button and commandButton example</h1>
      
      <h:form>
      <ol>
        <li>
          <h:commandButton value="submit" type="submit" action="#{user.goLoginPage}" />
        </li>
        <li>
          <h:commandButton value="reset" type="reset" />
        </li>
        <li>
          <h:commandButton value="button" type="button" />
        </li>
        <li>
          <h:commandButton value="Click Me" type="button" οnclick="alert("h:commandButton");" />
        </li>
        <li>
          <h:button value="buton" />
        </li>
        <li>
          <h:button value="Click Me" οnclick="alert("h:button");" />
        </li>
        <li>
          <h:button value="buton" outcome="login" />
        </li>
      </ol>
      </h:form>
      
    </h:body>

</html>

下载 Form_CommandButton.zip

运行

将生成的WAR文件从目标文件夹复制到Tomcat部署文件夹,并运行Tomcat-Install-folder/bin/startup.bat。

Tomcat完成启动后,在浏览器地址栏中键入以下URL。

http://localhost:8080/simple-webapp/demo.xhtml

JSF 链接示例

JSF教程 - JSF链接示例

h:Link标签渲染一个HTML“anchor"元素。

以下JSF标记

<h:link value="Page 1" outcome="page1" />

被渲染为以下HTML代码

<a href="/helloworld/page1.jsf">Page 1</a>

标签属性

属性描述
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 (从右到左)。
hreflang使用 href 属性指定的资源的基本语言;
lang元素的属性和文本的基本语言
maxlength文本字段的最大字符数
readonly输入字段的只读状态
rel当前页面和链接页面之间的关系
rev将从 href 指定的锚点反向链接到当前文档。
style内联样式信息
tabindex指定制表符索引的数值
target打开文档的框架的名称
title用于辅助功能的标题。 浏览器通常为标题的值创建工具提示
type链接类型; 例如样式表
width元素的宽度
onblur失去焦点的事件处理程序
onchange值更改的事件处理程序
onclick鼠标按钮的事件处理程序点击该元素
ondblclick双击鼠标按钮的事件处理程序
onfocus元素接收焦点的事件处理程序
onkeydown按键的事件处理程序
onkeypress键按下并释放的事件处理程序
onkeyupKey的事件处理程序发布
onmousedown鼠标按钮的事件处理程序
onmousemove鼠标移动的事件处理程序
onmouseout鼠标左的事件处理程序
onmouseover鼠标移动到的事件处理程序
onmouseup释放鼠标按钮的事件处理程序
onreset表单重置的事件处理程序
onselect选择文本的事件处理程序

例子

以下代码来自demo.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"
      xmlns:f="http://java.sun.com/jsf/core">
    <h:body>
      <h:form>
       <h:link value="Login page" outcome="login" />
      <br/>
      <h:link value="Login page + Param " outcome="login" >
        <f:param name="username" value="mkyong" />
      </h:link>
      <br/>
       <h:link outcome="login" >
         <h:graphicImage library="images" name="myImage.png" />
       </h:link>
      <br/>
       <h:commandLink value="Login page" />
      <br/>
       <h:commandLink action="#{user.goLoginPage}" value="Login page" />
      <br/>
       <h:commandLink action="#{user.goLoginPage}" value="Login page + Param ">
         <f:param name="username" value="mkyong" />
       </h:commandLink>
      <br/>
       <h:commandLink action="#{user.goLoginPage}">
         <h:graphicImage library="images" name="myImage.png" />
       </h:commandLink>
      <br/>
       <h:outputLink>Login page</h:outputLink>
      <br/>
       <h:outputLink value="login.xhtml" >Login page</h:outputLink>
      <br/>
       <h:outputLink value="login.xhtml">
         <h:outputText value="Login page" />
         <f:param name="username" value="www.w3cschool.cn" />
       </h:outputLink>
      <br/>
       <h:outputLink value="login.xhtml">
         <h:graphicImage library="images" name="myImage.png" />
       </h:outputLink>
      </h:form>
    </h:body>
</html>

下面的代码来自UserBean.java。

package cn.w3cschool.common;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
 
@ManagedBean(name="user")
@SessionScoped
public class UserBean{
 
  public String goLoginPage(){
    
    return "login";
    
  }
}

以下代码来自login.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>login.xhtml</h1>
      
    </h:body>

</html>

下载 Link-commandLink-outputLink.zip

运行

将生成的WAR文件从目标文件夹复制到Tomcat部署文件夹,并运行Tomcat-Install-folder/bin/startup.bat。

Tomcat完成启动后,在浏览器地址栏中键入以下URL。

http://localhost:8080/simple-webapp/demo.xhtml

 JSF 命令链接

JSF教程 - JSF命令链接

h:commandLink标签渲染一个HTML“anchor"元素。

以下JSF标记

<h:commandLink value="Page 1" action="page1" />

被渲染为以下HTML代码

<a href="#" οnclick="mojarra.jsfcljs(document.getElementById("j_idt13"),
{"j_idt13:j_idt14":"j_idt13:j_idt14"},"");return false">Page 1</a>

标签属性

属性描述
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 (从右到左)。
hreflang使用 href 属性指定的资源的基本语言;
lang元素的属性和文本的基本语言
maxlength文本字段的最大字符数
readonly输入字段的只读状态
rel当前页面和链接页面之间的关系
rev将从 href 指定的锚点反向链接到当前文档。
style内联样式信息
tabindex指定制表符索引的数值
target打开文档的框架的名称
title用于辅助功能的标题。 浏览器通常为标题的值创建工具提示
type链接类型; 例如样式表
width元素的宽度
onblur失去焦点的事件处理程序
onchange值更改的事件处理程序
onclick鼠标按钮的事件处理程序点击该元素
ondblclick双击鼠标按钮的事件处理程序
onfocus元素接收焦点的事件处理程序
onkeydown按键的事件处理程序
onkeypress键按下并释放的事件处理程序
onkeyupKey的事件处理程序发布
onmousedown鼠标按钮的事件处理程序
onmousemove鼠标移动的事件处理程序
onmouseout鼠标左的事件处理程序
onmouseover鼠标移动到的事件处理程序
onmouseup释放鼠标按钮的事件处理程序
onreset表单重置的事件处理程序
onselect选择文本的事件处理程序

例子

以下代码来自demo.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"
      xmlns:f="http://java.sun.com/jsf/core">
    <h:body>
      <h:form>
       <h:link value="Login page" outcome="login" />
      <br/>
      <h:link value="Login page + Param " outcome="login" >
        <f:param name="username" value="mkyong" />
      </h:link>
      <br/>
       <h:link outcome="login" >
         <h:graphicImage library="images" name="myImage.png" />
       </h:link>
      <br/>
       <h:commandLink value="Login page" />
      <br/>
       <h:commandLink action="#{user.goLoginPage}" value="Login page" />
      <br/>
       <h:commandLink action="#{user.goLoginPage}" value="Login page + Param ">
         <f:param name="username" value="mkyong" />
       </h:commandLink>
      <br/>
       <h:commandLink action="#{user.goLoginPage}">
         <h:graphicImage library="images" name="myImage.png" />
       </h:commandLink>
      <br/>
       <h:outputLink>Login page</h:outputLink>
      <br/>
       <h:outputLink value="login.xhtml" >Login page</h:outputLink>
      <br/>
       <h:outputLink value="login.xhtml">
         <h:outputText value="Login page" />
         <f:param name="username" value="www.w3cschool.cn" />
       </h:outputLink>
      <br/>
       <h:outputLink value="login.xhtml">
         <h:graphicImage library="images" name="myImage.png" />
       </h:outputLink>
      </h:form>
    </h:body>
</html>

下面的代码来自UserBean.java。

package cn.w3cschool.common;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
 
@ManagedBean(name="user")
@SessionScoped
public class UserBean{
 
  public String goLoginPage(){
    
    return "login";
    
  }
}

以下代码来自login.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>login.xhtml</h1>
      
    </h:body>

</html>

下载 Link-commandLink-outputLink.zip

运行

将生成的WAR文件从目标文件夹复制到Tomcat部署文件夹,并运行Tomcat-Install-folder/bin/startup.bat。

Tomcat完成启动后,在浏览器地址栏中键入以下URL。

http://localhost:8080/simple-webapp/demo.xhtml

JSF 输出链接

JSF教程 - JSF输出链接

h:outputLink标签渲染一个HTML“anchor"元素。

以下JSF标记

<h:outputLink value="page1.jsf" >Page 1</h:outputLink>

将渲染为以下HTML标记。

<a href="page1.jsf">Page 1</a>

标签属性

属性描述
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 (从右到左)。
hreflang使用 href 属性指定的资源的基本语言;
lang元素的属性和文本的基本语言
maxlength文本字段的最大字符数
readonly输入字段的只读状态
rel当前页面和链接页面之间的关系
rev将从 href 指定的锚点反向链接到当前文档。
style内联样式信息
tabindex指定制表符索引的数值
target打开文档的框架的名称
title用于辅助功能的标题。 浏览器通常为标题的值创建工具提示
type链接类型; 例如样式表
width元素的宽度
onblur失去焦点的事件处理程序
onchange值更改的事件处理程序
onclick鼠标按钮的事件处理程序点击该元素
ondblclick双击鼠标按钮的事件处理程序
onfocus元素接收焦点的事件处理程序
onkeydown按键的事件处理程序
onkeypress键按下并释放的事件处理程序
onkeyupKey的事件处理程序发布
onmousedown鼠标按钮的事件处理程序
onmousemove鼠标移动的事件处理程序
onmouseout鼠标左的事件处理程序
onmouseover鼠标移动到的事件处理程序
onmouseup释放鼠标按钮的事件处理程序
onreset表单重置的事件处理程序
onselect选择文本的事件处理程序

例子

以下代码来自demo.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"
      xmlns:f="http://java.sun.com/jsf/core">
    <h:body>
      <h:form>
       <h:link value="Login page" outcome="login" />
      <br/>
      <h:link value="Login page + Param " outcome="login" >
        <f:param name="username" value="mkyong" />
      </h:link>
      <br/>
       <h:link outcome="login" >
         <h:graphicImage library="images" name="myImage.png" />
       </h:link>
      <br/>
       <h:commandLink value="Login page" />
      <br/>
       <h:commandLink action="#{user.goLoginPage}" value="Login page" />
      <br/>
       <h:commandLink action="#{user.goLoginPage}" value="Login page + Param ">
         <f:param name="username" value="mkyong" />
       </h:commandLink>
      <br/>
       <h:commandLink action="#{user.goLoginPage}">
         <h:graphicImage library="images" name="myImage.png" />
       </h:commandLink>
      <br/>
       <h:outputLink>Login page</h:outputLink>
      <br/>
       <h:outputLink value="login.xhtml" >Login page</h:outputLink>
      <br/>
       <h:outputLink value="login.xhtml">
         <h:outputText value="Login page" />
         <f:param name="username" value="www.w3cschool.cn" />
       </h:outputLink>
      <br/>
       <h:outputLink value="login.xhtml">
         <h:graphicImage library="images" name="myImage.png" />
       </h:outputLink>
      </h:form>
    </h:body>
</html>

下面的代码来自UserBean.java。

package cn.w3cschool.common;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
 
@ManagedBean(name="user")
@SessionScoped
public class UserBean{
 
  public String goLoginPage(){
    
    return "login";
    
  }
}

以下代码来自login.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>login.xhtml</h1>
      
    </h:body>

</html>

下载 Link-commandLink-outputLink.zip

运行

将生成的WAR文件从目标文件夹复制到Tomcat部署文件夹,并运行Tomcat-Install-folder/bin/startup.bat。

Tomcat完成启动后,在浏览器地址栏中键入以下URL。

http://localhost:8080/simple-webapp/demo.xhtml

JSF 相对应消息标记

JSF教程 - JSF相对应消息标记

h:message标记显示与UI元素相对应的消息。

以下JSF标记

<h:inputText  id="username"  size="20" label="UserName" required="true">
   <f:validateLength for="username" minimum="5" maximum="20" />      
</h:inputText>

<h:message for="username" style="color:red" />

如果输入超过20个字符。

<span style="color:red">UserName: Validation Error: 
Length is greater than allowable maximum of "20"</span>

如果输入小于5个字符。

<span style="color:red">UserName: Validation Error: 
Length is less than allowable minimum of "5"</span>

如果未输入输入字段。

<span style="color:red">UserName: Validation Error: Value is required</span>

标签属性

属性描述
id标签的标识
binding引用在backing bean中使用的组件
rendered布尔值; false将抑制渲染
styleClass级联样式表(CSS)类名称
for显示消息的组件ID
errorClass应用于错误消息的CSS类
errorStyleCSS样式应用于错误消息
fatalClassCSS类应用于致命消息
fatalStyleCSS样式应用于致命消息
globalOnly仅显示全局消息的指令。 默认值:false
infoClassCSS类应用于信息消息
infoStyleCSS样式应用于信息消息
layout消息布局规范:表或列表
showDetail确定是否显示邮件详细信息的布尔值。 h:messages的默认值为false,h:message的默认值为true
showSummary确定是否显示消息摘要的布尔值。h:messages的默认值为true,h:message的值为false
tooltip一个布尔值,用于设置是否在工具提示中呈现消息详细信息;仅当showDetail和showSummary为true时才会呈现工具提示
warnClass警告消息的CSS类
warnStyleCSS样式的警告消息
style内联样式信息
title用于辅助功能的标题。 浏览器通常为标题的值创建工具提示

例子

以下代码来自demo.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"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets">
     
    <h:body>
    <h:form>
      <h:messages style="color:red;margin:8px;" />
      <br />
      <h:panelGrid columns="3">
        Enter your username :
        <h:inputText id="username" value="#{user.username}" 
          size="20" required="true"
          label="UserName" >
          <f:validateLength minimum="5" maximum="10" />
        </h:inputText>
 
        <h:message for="username" style="color:red" />

        Enter your age :
        <h:inputText id="age" value="#{user.age}" 
          size="20" required="true"
          label="Age" >
          <f:validateLongRange for="age" minimum="1" maximum="200" />
        </h:inputText>
 
        <h:message for="age" style="color:red" />
        
      </h:panelGrid>
    
      <h:commandButton value="Submit" action="result" />
    
    </h:form>
    
    </h:body>
</html>

下面的代码来自UserBean.java。

package cn.w3cschool.common;


import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
 
@ManagedBean(name="user")
@SessionScoped
public class UserBean implements Serializable{
  
  private static final long serialVersionUID = 1L;
  
  public String username;
  public int age;
  
  public String getUsername() {
    return username;
  }
  public void setUsername(String username) {
    this.username = username;
  }
  public int getAge() {
    return age;
  }
  public void setAge(int age) {
    this.age = age;
  }
  
}

以下代码来自result.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>
    Username : #{user.username}
    <br />
    Age : #{user.age}
    </h:body>
</html>

下载 Message_Tag.zip

运行

将生成的WAR文件从目标文件夹复制到Tomcat部署文件夹,并运行Tomcat-Install-folder/bin/startup.bat。

Tomcat完成启动后,在浏览器地址栏中键入以下URL。

http://localhost:8080/simple-webapp/demo.xhtml

JSF 所有消息标记

JSF教程 - JSF所有消息标记

h:messages标记在与UI元素对应的一个地方显示所有消息。

以下JSF标记

<h:messages style="color:red;margin:8px;" />

如果输入的用户名超过20个字符,输入的密码小于5个字符。

<ul style="color:red;margin:8px;">
   <li>  UserName: Validation Error: 
   Length is greater than allowable maximum of "20" </li>
   <li>  Password: Validation Error: 
   Length is less than allowable minimum of "5" </li>
</ul>

标签属性

属性描述
id标签的标识
binding引用在backing bean中使用的组件
rendered布尔值; false将抑制渲染
styleClass级联样式表(CSS)类名称
for显示消息的组件ID
errorClass应用于错误消息的CSS类
errorStyleCSS样式应用于错误消息
fatalClassCSS类应用于致命消息
fatalStyleCSS样式应用于致命消息
globalOnly仅显示全局消息的指令。 默认值:false
infoClassCSS类应用于信息消息
infoStyleCSS样式应用于信息消息
layout消息布局规范:表或列表
showDetail确定是否显示邮件详细信息的布尔值。h:messages的默认值为false,h:message的默认值为true
showSummary确定是否显示消息摘要的布尔值。h:messages的默认值为true,h:message的值为false
tooltip一个布尔值,用于设置是否在工具提示中呈现消息详细信息;仅当showDetail和showSummary为true时才会呈现工具提示
warnClass警告消息的CSS类
warnStyleCSS样式的警告消息
style内联样式信息
title用于辅助功能的标题。 浏览器通常为标题的值创建工具提示

例子

以下代码来自demo.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"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      >
     
    <h:body>
    <h:form>
      <h:messages style="color:red;margin:8px;" />
      <br />
      <h:panelGrid columns="3">
        Enter your username :
        <h:inputText id="username" value="#{user.username}" 
          size="20" required="true"
          label="UserName" >
          <f:validateLength minimum="5" maximum="10" />
        </h:inputText>
 
        <h:message for="username" style="color:red" />

        Enter your age :
        <h:inputText id="age" value="#{user.age}" 
          size="20" required="true"
          label="Age" >
          <f:validateLongRange for="age" minimum="1" maximum="200" />
        </h:inputText>
 
        <h:message for="age" style="color:red" />
        
      </h:panelGrid>
    
      <h:commandButton value="Submit" action="result" />
    
    </h:form>
    
    </h:body>
</html>

下面的代码来自UserBean.java。

package cn.w3cschool.common;


import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
 
@ManagedBean(name="user")
@SessionScoped
public class UserBean implements Serializable{
  
  private static final long serialVersionUID = 1L;
  
  public String username;
  public int age;
  
  public String getUsername() {
    return username;
  }
  public void setUsername(String username) {
    this.username = username;
  }
  public int getAge() {
    return age;
  }
  public void setAge(int age) {
    this.age = age;
  }
  
}

以下代码来自result.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>
    
    Username : #{user.username}
    
    <br />
    
    Age : #{user.age}
    
    </h:body>
</html>

下载 Message_Tag.zip

运行

将生成的WAR文件从目标文件夹复制到Tomcat部署文件夹,并运行Tomcat-Install-folder/bin/startup.bat。

Tomcat完成启动后,在浏览器地址栏中键入以下URL。

http://localhost:8080/simple-webapp/demo.xhtml

JSF PanelGrid示例

JSF教程 - JSF PanelGrid示例

h:panelGrid标记渲染一个HTML“table"元素。

以下JSF标记

<h:panelGrid id="panel" columns="2" border="1"
   cellpadding="10" cellspacing="1">
      <f:facet name="header">
         <h:outputText value="Login"/>
      </f:facet>
      <h:outputLabel value="Username" />
      <h:inputText  />
      <h:outputLabel value="Password" />
      <h:inputSecret />
      <f:facet name="footer">
         <h:panelGroup style="display:block; text-align:center">
            <h:commandButton id="submit" value="Submit" />
         </h:panelGroup>
      </f:facet>
</h:panelGrid>

将渲染为以下HTML标记。

<table id="j_idt10:panel" border="1" cellpadding="10" cellspacing="1">
<thead>
   <tr><th colspan="2" scope="colgroup">Login</th></tr>
</thead>
<tfoot>
   <tr>
      <td colspan="2">
      <span style="display:block; text-align:center">
      <input id="j_idt10:submit" type="submit"
      name="j_idt10:submit" value="Submit" />
      </span></td></tr>
</tfoot>
<tbody>
   <tr>
      <td><label>Username</label></td>
      <td><input type="text" name="j_idt10:j_idt17" /></td>
   </tr>
   <tr>
      <td><label>Password</label></td>
      <td><input type="password" name="j_idt10:j_idt21" value="" /></td>
   </tr>
</tbody>
</table>

标签属性

属性描述
id标签的标识
binding引用在backing bean中使用的组件
rendered布尔值; false将抑制渲染
styleClass级联样式表(CSS)类名称
value值绑定
bgcolor表的背景颜色
border表格边框的宽度
cellpadding表格单元周围的填充
cellspacing表格单元格之间的间距
columnClasses列的CSS类的逗号分隔列表
columns表中的列数
footerClass表的页脚的CSS类
frame框架框架侧面的规格    围绕要绘制的表格; 有效值:    none,above,below,hsides,vsides,lhs,rhs,box,border
headerClass表头的CSS类
rowClasses列的CSS类的逗号分隔列表
rules细胞之间画线的规格;    有效值:组,行,列,全部
summary表的摘要“使用的目的和结构    用于诸如语音的非视觉反馈
dir文本的方向。 有效值为 ltr (从左到右)和 rtl (从右到左)。
lang元素的属性和文本的基本语言
border元素的边框宽度的像素值
lang元素的属性和文本的基本语言
title用于辅助功能的标题。 浏览器通常为标题的值创建工具提示
width元素的宽度
onblur失去焦点的事件处理程序
onchange值更改的事件处理程序
onclick鼠标按钮的事件处理程序点击该元素
ondblclick双击鼠标按钮的事件处理程序
onfocus元素接收焦点的事件处理程序
onkeydown按键的事件处理程序
onkeypress键按下并释放的事件处理程序
onkeyupKey的事件处理程序发布
onmousedown鼠标按钮的事件处理程序
onmousemove鼠标移动的事件处理程序
onmouseout鼠标左的事件处理程序
onmouseover鼠标移动到的事件处理程序
onmouseup释放鼠标按钮的事件处理程序

例子

以下代码来自result.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"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:c="http://java.sun.com/jsp/jstl/core">
    <h:body>
  Number :  <h:outputText value="#{user.number}" />
        
    </h:body>
</html>

以下代码来自demo.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"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:c="http://java.sun.com/jsp/jstl/core"
      >
    <h:body>
    <h:form>
      <h:panelGrid columns="3">
        Enter a number : 
        <h:inputText id="number" value="#{user.number}" 
          size="20" required="true"
          label="Number" >
          <f:convertNumber />
        </h:inputText>
        <h:message for="number" style="color:red" />
      </h:panelGrid>
      <h:commandButton value="Submit" action="result" />
    </h:form>
    </h:body>
</html>

下面的代码来自UserBean.java。

package cn.w3cschool.common;

import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
 
@ManagedBean(name="user")
@SessionScoped
public class UserBean implements Serializable{
  
  int number;

  public int getNumber() {
    return number;
  }

  public void setNumber(int number) {
    this.number = number;
  }
  
}

下载 PanelGrid.zip

运行

将生成的WAR文件从目标文件夹复制到Tomcat部署文件夹,并运行Tomcat-Install-folder/bin/startup.bat。

Tomcat完成启动后,在浏览器地址栏中键入以下URL。

http://localhost:8080/simple-webapp/demo.xhtml

JSF 参数示例

JSF教程 - JSF参数示例

我们可以使用f:param标签将参数传递给组件或传递请求参数。

以下代码显示如何将参数传递到UI组件。

<h:outputFormat value="Hello {0}!.">        
   <f:param value="World" />
</h:outputFormat>

以下代码传递请求参数及其名称。

<h:commandButton id="submit" 
   value="Show Message" action="#{userData.showResult}">
   <f:param name="username" value="JSF 2.0 User" />
</h:commandButton>

标签属性

属性描述
id组件的标识符
binding引用可以在backing bean中使用的组件
name参数组件的可选名称
value存储在组件中的值

例子

以下代码来自demo.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"
      xmlns:f="http://java.sun.com/jsf/core">
    <h:body>
    <h:form id="form">
      Enter your name :
      <h:inputText size="10" value="#{user.name}" />
      <br /><br />
      <h:commandButton id="submitButton" 
        value="Submit - US" action="#{user.outcome}">
        <f:param name="country" value="United States" />
      </h:commandButton>
    </h:form>
    </h:body>
</html>

以下代码来自result.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"
      xmlns:f="http://java.sun.com/jsf/core"
      >
     
    <h:body>
    
    <h3>
    <h:outputFormat value="Hello,{0}. You are from {1}.">
      <f:param value="#{user.name}" />
      <f:param value="#{user.country}" />
    </h:outputFormat>
    </h3>
    
    </h:body>
    
</html>

下面的代码来自UserBean.java。

package cn.w3cschool.common;


import java.util.Map;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

@ManagedBean(name="user")
@SessionScoped
public class UserBean{

  public String name;
  public String country;
  
  public String outcome(){
    
    FacesContext fc = FacesContext.getCurrentInstance();
    this.country = getCountryParam(fc);
    
    return "result";
  }

  //get value from "f:param"
  public String getCountryParam(FacesContext fc){
    
    Map<String,String> params = fc.getExternalContext().getRequestParameterMap();
    return params.get("country");
    
  }
  
  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public String getCountry() {
    return country;
  }

  public void setCountry(String country) {
    this.country = country;
  }

}

下载 Param.zip

运行

将生成的WAR文件从目标文件夹复制到Tomcat部署文件夹,并运行Tomcat-Install-folder / bin / startup.bat。

Tomcat完成启动后,在浏览器地址栏中键入以下URL。

http://localhost:8080/simple-webapp/demo.xhtml

JSF 属性示例

JSF教程 - JSF属性示例

我们可以使用h:attribute标签将属性值传递给组件,或者通过动作侦听器将参数传递给组件。

以下代码显示如何使用h:attribute标签。

<h:commandButton id="submit" 
actionListener="#{userData.attributeListener}" action="result"> 
   <f:attribute name="value" value="Show Message" />        
   <f:attribute name="username" value="JSF 2.0 User" />
</h:commandButton>

标签属性

属性描述
name要设置的属性的名称
value属性的值

例子

下面的代码来自UserBean.java。

package cn.w3cschool.common;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;

@ManagedBean(name="user")
@SessionScoped
public class UserBean{
  public String nickname;
  
  public void attrListener(ActionEvent event){
    nickname = (String)event.getComponent().getAttributes().get("username");
  }
  public String outcome(){
    return "result";
  }
  public String getNickname() {
    return nickname;
  }
  public void setNickname(String nickname) {
    this.nickname = nickname;
  }
  
}

以下代码来自demo.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"
      xmlns:f="http://java.sun.com/jsf/core">
    <h:body>
    <h:form id="form">
      <h:commandButton action="#{user.outcome}"
          actionListener="#{user.attrListener}">
        <f:attribute name="username" value="www.w3cschool.cn" />
        <f:attribute name="value" value="Click Me" />
      </h:commandButton>
    </h:form>
    </h:body>
</html>

以下代码来自result.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>
    #{user.nickname}
    </h:body>
</html>

下载 Attribute.zip

运行

将生成的WAR文件从目标文件夹复制到Tomcat部署文件夹,并运行Tomcat-Install-folder/bin/startup.bat。

Tomcat完成启动后,在浏览器地址栏中键入以下URL。

http://localhost:8080/simple-webapp/demo.xhtml

JSF setPropertyActionListener示例

JSF教程 - JSF setPropertyActionListener示例

h:setPropertyActionListener标记将一个操作监听器添加到将bean属性设置为给定值的组件。

以下代码显示如何使用 f:setPropertyActionListener 

<h:commandButton id="submit" action="result" value="Show Message"> 
   <f:setPropertyActionListener target="#{userData.data}" 
      value="JSF 2.0 User" />
</h:commandButton>

例子

下面的代码来自UserBean.java。

package cn.w3cschool.common;


import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean(name="user")
@SessionScoped
public class UserBean{

  public String username;
  
  public String outcome(){
    return "result";
  }

  public String getUsername() {
    return username;
  }

  public void setUsername(String username) {
    this.username = username;
  }
  
}

以下代码来自result.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 setPropertyActionListener example</h1>
    
    #{user.username}
    
    </h:body>
    
</html>

以下代码来自demo.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"
      xmlns:f="http://java.sun.com/jsf/core"
      >
     
    <h:body>
    <h:form id="form">
      
      <h:commandButton action="#{user.outcome}" value="Click Me">
      
        <f:setPropertyActionListener target="#{user.username}" value="w3cschool" />
        
      </h:commandButton>
      
    </h:form>
    
    </h:body>
</html>

下载 setPropertyActionListener.zip

运行

将生成的WAR文件从目标文件夹复制到Tomcat部署文件夹,并运行Tomcat-Install-folder/bin/startup.bat。

Tomcat完成启动后,在浏览器地址栏中键入以下URL。

http://localhost:8080/simple-webapp/demo.xhtml

原文地址:https://blog.csdn.net/m0_69824302/article/details/143725859

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!