亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 自訂轉換器.htm

?? java 技術參考匯集超值大禮包
?? 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">
						除了使用標準的轉換器之外,您還可以自行定制您的轉換器,您可以實作javax.faces.convert.Converter接口,這個接口有兩個要實作的方法:<div class="code" style="BORDER-TOP-STYLE: solid; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid">
							<div class="codeContent">
								<pre class="code-java"><span class="code-keyword">public</span> <span class="code-object">Object</span> getAsObject(FacesContext context,
                           UIComponent component,
                           <span class="code-object">String</span> str);
 <span class="code-keyword">public</span> <span class="code-object">String</span> getAsString(FacesContext context,
                           UIComponent component,
                           <span class="code-object">Object</span> obj);</pre>
							</div>
						</div>
						<p>
						  簡單的說,第一個方法會接收從客戶端經由HTTP傳來的字符串數據,您在第一個方法中將之轉換為您的自訂對象,這個自訂對象將會自動設定給您指定的Bean對象;第二個方法就是將從您的Bean對象得到的對象轉換為字符串,如此才能藉由HTTP傳回給客戶端。</p>
						<p>  直接以一個簡單的例子來作說明,假設您有一個User類別:</p>
						<ul>
							<li>User.java </li>
						</ul>
						<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>User.java</b></div>
							<div class="codeContent">
								<pre class="code-java"><span class="code-keyword">package</span> onlyfun.caterpillar;

 <span class="code-keyword">public</span> class User {
    <span class="code-keyword">private</span> <span class="code-object">String</span> firstName;
    <span class="code-keyword">private</span> <span class="code-object">String</span> lastName;

    <span class="code-keyword">public</span> <span class="code-object">String</span> getFirstName() {
        <span class="code-keyword">return</span> firstName;
    }

    <span class="code-keyword">public</span> void setFirstName(<span class="code-object">String</span> firstName) {
        <span class="code-keyword">this</span>.firstName = firstName;
    }

    <span class="code-keyword">public</span> <span class="code-object">String</span> getLastName() {
        <span class="code-keyword">return</span> lastName;
    }

    <span class="code-keyword">public</span> void setLastName(<span class="code-object">String</span> lastName) {
        <span class="code-keyword">this</span>.lastName = lastName;
    }
 }</pre>
							</div>
						</div>
						<p>  這個User類別是我們轉換器的目標對象,而您有一個GuestBean類別:</p>
						<ul>
							<li>GuestBean.java </li>
						</ul>
						<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>GuestBean.java</b></div>
							<div class="codeContent">
								<pre class="code-java"><span class="code-keyword">package</span> onlyfun.caterpillar;

 <span class="code-keyword">public</span> class GuestBean {
    <span class="code-keyword">private</span> User user;

    <span class="code-keyword">public</span> void setUser(User user) {
        <span class="code-keyword">this</span>.user = user;
    }

    <span class="code-keyword">public</span> User getUser() {
        <span class="code-keyword">return</span> user;
    }
 }</pre>
							</div>
						</div>
						<p>
						  這個Bean上的屬性直接傳回或接受User型態的參數,我們來實作一個簡單的轉換器,為HTTP字符串與User對象進行轉換:</p>
						<ul>
							<li>UserConverter.java </li>
						</ul>
						<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>UserConverter.java</b></div>
							<div class="codeContent">
								<pre class="code-java"><span class="code-keyword">package</span> onlyfun.caterpillar;

 <span class="code-keyword">import</span> javax.faces.component.UIComponent;
 <span class="code-keyword">import</span> javax.faces.context.FacesContext;
 <span class="code-keyword">import</span> javax.faces.convert.Converter;
 <span class="code-keyword">import</span> javax.faces.convert.ConverterException;

 <span class="code-keyword">public</span> class UserConverter <span class="code-keyword">implements</span> Converter {
    <span class="code-keyword">public</span> <span class="code-object">Object</span> getAsObject(FacesContext context,
                              UIComponent component,
                              <span class="code-object">String</span> str)
                                 <span class="code-keyword">throws</span> ConverterException {
        <span class="code-object">String</span>[] strs = str.split(<span class="code-quote">&quot;,&quot;</span>);

        User user = <span class="code-keyword">new</span> User();

        <span class="code-keyword">try</span> {
            user.setFirstName(strs[0]);
            user.setLastName(strs[1]);
        }
        <span class="code-keyword">catch</span>(Exception e) {
            <span class="code-comment">// 轉換錯誤,簡單的丟出例外
</span>            <span class="code-keyword">throw</span> <span class="code-keyword">new</span> ConverterException();
        }

        <span class="code-keyword">return</span> user;
    }

    <span class="code-keyword">public</span> <span class="code-object">String</span> getAsString(FacesContext context,
                              UIComponent component,
                              <span class="code-object">Object</span> obj)
                                 <span class="code-keyword">throws</span> ConverterException {
        <span class="code-object">String</span> firstName = ((User) obj).getFirstName();
        <span class="code-object">String</span> lastName = ((User) obj).getLastName();

        <span class="code-keyword">return</span> firstName + <span class="code-quote">&quot;,&quot;</span> + lastName;
    }
 }</pre>
							</div>
						</div>
						<p>  實作完成這個轉換器,我們要告訴JSF這件事,這是在faces-config.xml中完成注冊:</p>
						<ul>
							<li>faces-config.xml </li>
						</ul>
						<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">&lt;?xml version=<span class="code-quote">&quot;1.0&quot;</span>?&gt;
 &lt;!DOCTYPE faces-config PUBLIC
 <span class="code-quote">&quot;-<span class="code-comment">//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN&quot;</span>
</span> <span class="code-quote">&quot;http:<span class="code-comment">//java.sun.com/dtd/web-facesconfig_1_0.dtd&quot;</span>&gt;
</span>
 &lt;faces-config&gt;
    &lt;navigation-rule&gt;
        &lt;from-view-id&gt;/*&lt;/from-view-id&gt;
        &lt;navigation-<span class="code-keyword">case</span>&gt;
            &lt;from-outcome&gt;show&lt;/from-outcome&gt;
            &lt;to-view-id&gt;/pages/index.jsp&lt;/to-view-id&gt;
        &lt;/navigation-<span class="code-keyword">case</span>&gt;
    &lt;/navigation-rule&gt;

    &lt;converter&gt;
        &lt;converter-id&gt;onlyfun.caterpillar.User&lt;/converter-id&gt;
        &lt;converter-class&gt;
            onlyfun.caterpillar.UserConverter
        &lt;/converter-class&gt;
    &lt;/converter&gt;

    &lt;managed-bean&gt;
        &lt;managed-bean-name&gt;guest&lt;/managed-bean-name&gt;
        &lt;managed-bean-class&gt;
            onlyfun.caterpillar.GuestBean
        &lt;/managed-bean-class&gt;
        &lt;managed-bean-scope&gt;session&lt;/managed-bean-scope&gt;
    &lt;/managed-bean&gt;
 &lt;/faces-config&gt;</pre>
							</div>
						</div>
						<p>  注冊轉換器時,需提供轉換器識別(Converter
						ID)與轉換器類別,接下來要在JSF頁面中使用轉換器的話,就是指定所要使用的轉換器識別,例如:</p>
						<ul>
							<li>index.jsp </li>
						</ul>
						<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">&lt;%@ taglib uri=<span class="code-quote">&quot;http:<span class="code-comment">//java.sun.com/jsf/core&quot;</span> prefix=&quot;f&quot; %&gt;
</span> &lt;%@ taglib uri=<span class="code-quote">&quot;http:<span class="code-comment">//java.sun.com/jsf/html&quot;</span> prefix=&quot;h&quot; %&gt;
</span> &lt;%@page contentType=<span class="code-quote">&quot;text/html;charset=Big5&quot;</span>%&gt;

 &lt;f:view&gt;

 &lt;html&gt;
 &lt;head&gt;
 &lt;title&gt;自訂轉換器&lt;/title&gt;
 &lt;/head&gt;
 &lt;body&gt;

 Guest名稱是:&lt;b&gt;
           &lt;h:outputText value=<span class="code-quote">&quot;#{guest.user}&quot;</span>
                   converter=<span class="code-quote">&quot;onlyfun.caterpillar.User&quot;</span>/&gt;
           &lt;/b&gt;

    &lt;h:form&gt;
        &lt;h:inputText id=<span class="code-quote">&quot;userField&quot;</span>
                     value=<span class="code-quote">&quot;#{guest.user}&quot;</span>
                     converter=<span class="code-quote">&quot;onlyfun.caterpillar.User&quot;</span>/&gt;
        &lt;h:message <span class="code-keyword">for</span>=<span class="code-quote">&quot;userField&quot;</span> style=<span class="code-quote">&quot;color:red&quot;</span>/&gt;
        &lt;br&gt;
        &lt;h:commandButton value=<span class="code-quote">&quot;送出&quot;</span> action=<span class="code-quote">&quot;show&quot;</span>/&gt;
    &lt;/h:form&gt;
 &lt;/body&gt;
 &lt;/html&gt;
	
 &lt;/f:view&gt;</pre>
							</div>
						</div>
						<p>  您也可以&lt;f:converter&gt;卷標并使用converterId屬性來指定轉換器,例如:</p>
						<div class="code" style="BORDER-TOP-STYLE: solid; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid">
							<div class="codeContent">
								<pre class="code-java">&lt;h:inputText id=<span class="code-quote">&quot;userField&quot;</span> value=<span class="code-quote">&quot;#{guest.user}&quot;</span>&gt;
     &lt;f:converter converterId=<span class="code-quote">&quot;onlyfun.caterpillar.User&quot;</span>/&gt;
 &lt;/h:inputText&gt;</pre>
							</div>
						</div>
						<p>
						  除了向JSF注冊轉換器之外,還有一個方式可以不用注冊,就是直接在Bean上提供一個取得轉換器的方法,例如:</p>
						<ul>
							<li>GuestBean.java </li>
						</ul>
						<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>GuestBean.java</b></div>
							<div class="codeContent">
								<pre class="code-java"><span class="code-keyword">package</span> onlyfun.caterpillar;

 <span class="code-keyword">import</span> javax.faces.convert.Converter;

 <span class="code-keyword">public</span> class GuestBean {
    <span class="code-keyword">private</span> User user;
    <span class="code-keyword">private</span> Converter converter = <span class="code-keyword">new</span> UserConverter();

    <span class="code-keyword">public</span> void setUser(User user) {
        <span class="code-keyword">this</span>.user = user;
    }

    <span class="code-keyword">public</span> User getUser() {
        <span class="code-keyword">return</span> user;
    }

    <span class="code-keyword">public</span> Converter getConverter() {
        <span class="code-keyword">return</span> converter;
    }
 }</pre>
							</div>
						</div>
						<p>  之后可以直接結合 JSF Expression Language 來指定轉換器:</p>
						<div class="code" style="BORDER-TOP-STYLE: solid; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid">
							<div class="codeContent">
								<pre class="code-java">&lt;h:inputText id=<span class="code-quote">&quot;userField&quot;</span>
     value=<span class="code-quote">&quot;#{guest.user}&quot;</span>
     converter=<span class="code-quote">&quot;#{guest.converter}&quot;</span>/&gt;</pre>
							</div>
						</div>
					</div>
					</td>
				</tr>
			</table>
			</td>
		</tr>
	</table>
</div>
<p> </p>

</body>

</html>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美日韩三级| 老色鬼精品视频在线观看播放| 亚洲自拍偷拍网站| 蜜乳av一区二区| 在线精品视频免费播放| 国产欧美1区2区3区| 免费三级欧美电影| 色菇凉天天综合网| 国产网红主播福利一区二区| 婷婷国产v国产偷v亚洲高清| 成人综合激情网| 91精品久久久久久久91蜜桃| 亚洲欧美色一区| 国产成人av影院| 日韩一区二区视频| 亚洲国产中文字幕在线视频综合| 懂色一区二区三区免费观看| 日韩一级高清毛片| 亚洲成人动漫在线观看| 99久久亚洲一区二区三区青草| 欧美成人伊人久久综合网| 亚洲电影视频在线| 欧美亚日韩国产aⅴ精品中极品| 欧美国产综合一区二区| 狠狠色丁香九九婷婷综合五月| 欧美日韩激情一区| 午夜精品福利一区二区蜜股av| 91在线免费播放| 中文字幕一区二区三区四区不卡| 国产精品夜夜嗨| 久久久久一区二区三区四区| 久久国产精品第一页| 91精品视频网| 免费成人在线观看视频| 欧美一区二区三区的| 日本va欧美va欧美va精品| 欧美视频三区在线播放| 亚洲一二三区不卡| 欧美久久久久免费| 热久久国产精品| 日韩一级二级三级精品视频| 日本中文字幕一区二区视频| 欧美一级黄色录像| 精品亚洲免费视频| 国产日韩欧美一区二区三区综合| 国产成人aaaa| 最新日韩在线视频| 91豆麻精品91久久久久久| 亚洲成人中文在线| 欧美变态tickling挠脚心| 日本亚洲三级在线| 久久色视频免费观看| 波多野结衣在线一区| 日韩美女视频19| 欧美日本在线看| 国产一区在线精品| 日韩美女精品在线| 欧美顶级少妇做爰| 国产精品 日产精品 欧美精品| 国产精品妹子av| 欧美色网站导航| 久久国产福利国产秒拍| 中文字幕成人网| 欧美日本一区二区在线观看| 寂寞少妇一区二区三区| 亚洲欧美色一区| 欧美一区二区三区在线看| 国产成人亚洲综合a∨猫咪| 亚洲欧美一区二区三区国产精品| 欧美日韩大陆一区二区| 国产成人在线色| 亚洲综合色网站| 久久久久久久久久电影| 欧美在线不卡一区| 国内成人免费视频| 亚洲成在人线在线播放| 久久久综合激的五月天| 欧美熟乱第一页| 从欧美一区二区三区| 免费三级欧美电影| 亚洲欧美日韩一区二区三区在线观看| 制服丝袜在线91| 色综合天天性综合| 国产乱码精品一区二区三区忘忧草| 中文字幕佐山爱一区二区免费| 91精选在线观看| 色婷婷综合激情| 国产精品99久久久| 日本sm残虐另类| 亚洲精品国产a| 中文文精品字幕一区二区| 欧美夫妻性生活| 欧美综合久久久| 成人免费观看视频| 国内精品免费在线观看| 亚洲va欧美va人人爽| 国产精品久久久久久久久免费丝袜 | 欧美一级黄色片| 日本电影亚洲天堂一区| 成人性生交大片免费看视频在线| 三级不卡在线观看| 亚洲午夜电影在线观看| 亚洲欧美日本韩国| 一区免费观看视频| 日本一区二区久久| 国产女同互慰高潮91漫画| 精品久久久久一区| 日韩欧美一二三四区| 在线综合亚洲欧美在线视频| 欧美性色aⅴ视频一区日韩精品| 97成人超碰视| 91色porny| 99精品热视频| 91网上在线视频| 色综合网色综合| 欧美伊人久久大香线蕉综合69 | 2020日本不卡一区二区视频| 欧美高清视频不卡网| 欧美精品在线观看播放| 56国语精品自产拍在线观看| 欧美日韩1区2区| 日韩视频一区二区在线观看| 欧美另类变人与禽xxxxx| 欧美三级三级三级| 7777精品伊人久久久大香线蕉| 欧美日韩电影在线| 欧美r级在线观看| 久久久久久久久久看片| 欧美精品一区二区三| 国产欧美日韩三级| 国产精品久久久久久久午夜片| 国产精品久久久久天堂| 亚洲欧美激情一区二区| 亚洲尤物视频在线| 日本欧美一区二区三区乱码| 调教+趴+乳夹+国产+精品| 蜜臀久久久久久久| 极品少妇一区二区| 成人av在线看| 欧美伦理电影网| 精品国产伦一区二区三区观看体验 | 亚洲国产精品久久不卡毛片| 午夜久久久久久久久久一区二区| 美腿丝袜亚洲综合| 国产精品自拍av| 欧美综合天天夜夜久久| 欧美一卡二卡三卡| 国产日韩高清在线| 亚洲自拍偷拍图区| 国内精品伊人久久久久影院对白| 成人国产精品免费观看视频| 欧美色视频一区| 久久免费精品国产久精品久久久久| 中文字幕第一区综合| 亚洲成av人片观看| 国产精品1024| 777色狠狠一区二区三区| 日本一区二区三区电影| 亚洲超丰满肉感bbw| 国产伦理精品不卡| 欧美精品18+| 欧美国产1区2区| 日韩专区一卡二卡| gogogo免费视频观看亚洲一| 9191精品国产综合久久久久久| 欧美国产在线观看| 日产国产高清一区二区三区| 不卡视频在线看| 欧美大黄免费观看| 国产一区二区美女| 在线观看精品一区| 中文字幕 久热精品 视频在线| 丝袜亚洲另类欧美综合| av电影在线不卡| 国产日韩综合av| 免费欧美高清视频| 在线观看国产91| 中文字幕精品在线不卡| 久久精品国产一区二区三| 日本大香伊一区二区三区| 久久久精品国产免费观看同学| 亚洲午夜日本在线观看| 91在线一区二区| 久久精品亚洲精品国产欧美kt∨| 日韩国产高清在线| 欧美日韩免费不卡视频一区二区三区 | 久久精品亚洲乱码伦伦中文 | 亚洲欧美在线另类| 黄网站免费久久| 欧美变态tickling挠脚心| 亚洲18女电影在线观看| 色婷婷精品大视频在线蜜桃视频| 国产视频911| 国产一区欧美一区| 精品福利av导航| 久久99精品国产.久久久久久| 日韩精品一区二区三区四区视频| 日日夜夜免费精品| 欧美一级日韩不卡播放免费| 午夜欧美电影在线观看|