JSF輸出格式化


<h:outputFormat>標籤呈現HTML文字,但可以接受引數化輸入。

以下JSF程式碼 -

<h:outputFormat value="parameter 1 : {0}, parameter 2 : {1}" >
   <f:param value="Item 1" />
   <f:param value="Item 2" />
</h:outputFormat>

被渲染成以下HTML程式碼 -

parameter 1 : Item 1, parameter 2 : Item 2

範例

開啟NetBean8.2,建立一個名稱為:OutputFormat 的JavaWeb JSF工程。以下是檔案:UserBean.java中的程式碼 -

package com.yiibai;

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

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

  public String text = "Hello {0}";
  public String htmlInput = "<a href='https://www.tw511.com'>{0}</a>";

  public String getText() {
    return text;
  }
  public void setText(String text) {
    this.text = text;
  }
  public String getHtmlInput() {
    return htmlInput;
  }
  public void setHtmlInput(String htmlInput) {
    this.htmlInput = htmlInput;
  }

}

以下是檔案: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://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core">

    <h:body>
        <h:outputFormat value="this is param 0 : {0}, param 1 : {1}" >
         <f:param value="Number 1" />
         <f:param value="Number 2" />
       </h:outputFormat>
     <br/>
       <h:outputFormat value="#{user.text}" >
         <f:param value="tw511.com" />
       </h:outputFormat>
    <br/>
      <h:outputFormat value="#{user.htmlInput}" >
         <f:param value="text" />
         <f:param value="size='30'" />
       </h:outputFormat>
    <br/>
      <h:outputFormat value="#{user.htmlInput}" escape="false" >
         <f:param value="text" />
         <f:param value="size='30'" />
       </h:outputFormat>
    <br/>
      <h:outputFormat value="#{user.htmlInput}" escape="false" >
         <f:param value="button" />
         <f:param value="value='Click Me'" />
       </h:outputFormat>
    </h:body>
</html>

執行範例

Tomcat啟動完成後,在瀏覽器位址列中輸入以下URL。

http://localhost:8084/OutputFormat

得到結果如下圖所示 -