?? 使用自訂組件.htm
字號:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建網頁 1</title>
</head>
<body>
<p>使用自訂組件</p>
<div id="PageContent">
<table cellSpacing="0" cellPadding="0" width="100%" border="0" id="table3">
<tr>
<td class="pagebody" vAlign="top">
<table style="CLEAR: both" cellSpacing="0" cellPadding="0" width="100%" border="0" id="table4">
<tr>
<td class="pagecontent" vAlign="top" width="100%">
<div class="wiki-content">
在Component與Tag自訂完成后,這邊來看看如何使用它們,首先定義faces-config.xml:<div class="code" style="BORDER-TOP-STYLE: solid; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid">
<div class="codeHeader" style="BORDER-BOTTOM-STYLE: solid">
<b>faces-config.xml</b></div>
<div class="codeContent">
<pre class="code-java"><?xml version=<span class="code-quote">"1.0"</span> encoding=<span class="code-quote">"UTF-8"</span>?>
<!DOCTYPE faces-config PUBLIC "-<span class="code-comment">//Sun Microsystems,
</span> Inc.<span class="code-comment">//DTD JavaServer Faces Config 1.0//EN"
</span> <span class="code-quote">"http:<span class="code-comment">//java.sun.com/dtd/web-facesconfig_1_0.dtd"</span>>
</span> <faces-config>
<component>
<component-type>
onlyfun.caterpillar.TextWithCmd
</component-type>
<component-class>
onlyfun.caterpillar.UITextWithCmd
</component-class>
</component>
<managed-bean>
<managed-bean-name>someBean</managed-bean-name>
<managed-bean-class>
onlyfun.caterpillar.SomeBean
</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
</faces-config></pre>
</div>
</div>
<p> <component>中定義Component的型態與實際的類別對應,在您于自訂Tag中呼叫
getComponentType()方法所返回的值,就是尋找<component-type>設定的值對應,并由此得知真正對應的
Component類別。</p>
<p> 我們所撰寫的SomeBean測試類別如下:</p>
<div class="code" style="BORDER-TOP-STYLE: solid; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid">
<div class="codeHeader" style="BORDER-BOTTOM-STYLE: solid">
<b>SomeBean</b></div>
<div class="codeContent">
<pre class="code-java"><span class="code-keyword">package</span> onlyfun.caterpillar;
<span class="code-keyword">public</span> class SomeBean {
<span class="code-keyword">private</span> <span class="code-object">String</span> data;
<span class="code-keyword">public</span> <span class="code-object">String</span> getData() {
<span class="code-keyword">return</span> data;
}
<span class="code-keyword">public</span> void setData(<span class="code-object">String</span> data) {
<span class="code-keyword">this</span>.data = data;
}
}</pre>
</div>
</div>
<p> 這邊寫一個簡單的網頁來測試一下我們撰寫的自訂組件:</p>
<div class="code" style="BORDER-TOP-STYLE: solid; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid">
<div class="codeHeader" style="BORDER-BOTTOM-STYLE: solid">
<b>index.jsp</b></div>
<div class="codeContent">
<pre class="code-java"><%@ taglib uri=<span class="code-quote">"http:<span class="code-comment">//java.sun.com/jsf/html"</span> prefix="h" %>
</span> <%@ taglib uri=<span class="code-quote">"http:<span class="code-comment">//java.sun.com/jsf/core"</span> prefix="f" %>
</span> <%@ taglib uri=<span class="code-quote">"/WEB-INF/textcmd.tld"</span> prefix=<span class="code-quote">"oc"</span> %>
<html>
<link href=<span class="code-quote">"styles.css"</span> rel=<span class="code-quote">"stylesheet"</span> type=<span class="code-quote">"text/css"</span>/>
<head>
<title></title>
</head>
<body>
<f:view>
<h:form>
Input data: <oc:textcmd size=<span class="code-quote">"10"</span>
value=<span class="code-quote">"#{someBean.data}"</span>/>
</h:form>
<h:outputText value=<span class="code-quote">"#{someBean.data}"</span>/>
</f:view>
</body>
</html></pre>
</div>
</div>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -