JSF 2.0 Webアプリケーションでは、 ”
h:outputText
“タグがプレーンテキストを表示するために最もよく使用されるタグであり、余分なHTML要素を生成しません。例を見る…
1.マネージドBean
マネージドBeanは、デモンストレーション用のテキストを提供します。
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean(name="user")
@SessionScoped
public class UserBean{
public String text = "This is Text!";
public String htmlInput = "<input type='text' size='20'/>";
//getter and setter methods...
}
2.ページを見る
「
h:outputText
」タグがほとんどないページ。
JSF …
<?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.0 h:outputText Example</h1>
<ol>
<li>#{user.text}</li>
<li><h:outputText value="#{user.text}"/></li>
<li><h:outputText value="#{user.text}" styleClass="abc"/></li>
<li><h:outputText value="#{user.htmlInput}"/></li>
<li><h:outputText value="#{user.htmlInput}" escape="false"/></li>
</ol>
</h:body>
</html>
次のHTMLコードを生成する…
<!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">
<body>
<h1>JSF 2.0 h:outputText Example</h1>
<ol>
<li>This is Text!</li>
<li>This is Text!</li>
<li><span class="abc">This is Text!</span></li>
<li><input type='text' size='20'/></li>
<li><input type='text' size='20'/></li>
</ol>
</body>
</html>
-
ケース1と2の場合
JSF 2.0では、直接値式 “#\ {user.text}”で同じことを達成できるので、実際には “h:outputText”タグを使用する必要はありません。
-
ケース3の場合
“styleClass”、 “style”、 “dir”、 “lang”のいずれかの属性がある場合は、テキストをレンダリングし、 ”
span
“要素で囲みます。
-
ケース4および5の場合
“h:outputText”タグの ”
escape
“属性は、
機密HTMLとそれに対応するXMLマークアップは有効なHTML文字に対応します。
例えば、
.. <へ変換する
-
& convert to &
By default, “
escape
” attribute is set to true.