⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 概述自订组件.htm

📁 良葛格學習筆記,《jsf入门》简体中文版,对学习JSF有帮助
💻 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">
						所谓的「自订JSF组件」是一个概略的称呼,事实上,一个JSF组件包括了三个部份:Tag、Component 与Renderer。<p>
						 Tag即之前一直在使用的JSF卷标,类似于HTML卷标,JSF卷标主要是方便网页设计人员进行版面配置与数据呈现的一种方式,实际的处理中,JSF标签的目的在于设定Component属性、设定验证器、设定数据绑定、设定方法绑定等等。</p>
						<p>
						 Component的目的在于处理请求,当请求来到伺服端应用程序时,每一个Component都有机会根据自己的client
						id,从请求中取得属于自己的值,接着Component可以将这个值作处理,然后设定给绑定的bean。</p>
						<p> 当请求来到Web应用程序时,HTTP中的字符串内容可以转换为JSF组件所需的值,这个动作称之为解碼(decode),相对的,将JSF
						组件的值转换为HTTP字符串数据并送至客户端,这个动作称之为编码(encode),Component可自己处理编码、译码的任务,也可以将之委托给
						Renderer来处理。</p>
						<p> 当您要自订Component时,您可以继承UIComonent或其相关的子类别,这要根据您实际要自订的组件而定,如果您要自订一个输出组件,可以继承UIOutput,如果要自订一个输入组件,则可以继承UIInput,每一个标准的JSF组件实际上都对应了一个
						UIComponent的子类别,下图为一个大致的类别继承架构图:</p>
						<p>
						<img src="introduceCustomComponent-1.jpg" align="absMiddle" border="0"></p>
						<p>
						 实际上要自订一个组件是复杂的一件工作,您首先要学会的是一个完整的自订组件流程,实际上要自订一个组件时,您可以参考一下网络上的一些成品,例如
						Apache MyFaces <span class="nobr">
						<a title="Visit page outside Confluence" rel="nofollow" href="http://myfaces.apache.org/">
						http://myfaces.apache.org/<sup><img class="rendericon" height="7" alt="" src="images/linkext7.gif" width="7" align="absMiddle" border="0"></sup></a></span>,接下来后面的几个主题所要介绍的,将只是一个自订组件的简单流程。</p>
						<p>
						 Renderer是一个可替换的组件,您的Component可以搭配不同的Renderer,而不用自行担任绘制响应或译码的动作,这会让您的Component可以重用,当您需要将响应从HTML转换为其它的媒介时(例如行动电话网络),则只要替换Renderer就可以了,这是一个好处,或者您可以简单的替换掉一个Renderer,就可以将原先简单的HTML响应,替换为有JavaScript功能的Renderer。</p>
						<p>
						 当您开始接触自订组件时,您会开始接触到JSF的框架(Framework),也许有几个类别会是您经常接触的:</p>
						<ul>
							<li>javax.faces.component.UIComponent </li>
						</ul>
						<p>
						 自订Component所要继承的父类别,但通常,您是继承其子类别,例如UIInput、UIOutput等等。</p>
						<ul>
							<li>javax.faces.webapp.UIComponentTag </li>
						</ul>
						<p> 自订JSF标签所要继承的父类别,继承它可以帮您省去许多JSF标签处理的细节。</p>
						<ul>
							<li>javax.faces.context.FacesContext </li>
						</ul>
						<p> 包括了JSF相关的请求信息,您可以透过它取得请求对象或请求参数,或者是
						javax.faces.application.Application物件。</p>
						<ul>
							<li>javax.faces.application.Application </li>
						</ul>
						<p> 包括了一个应用程序所共享的信息,像是locale、验证器、转换器等等,您可以透过一些
						<span class="nobr">
						<a title="Visit page outside Confluence" rel="nofollow" href="http://www.javaworld.com.tw/confluence/display/designpattern/Factory+Method">
						工厂方法<sup><img class="rendericon" height="7" alt="" src="images/linkext7.gif" width="7" align="absMiddle" border="0"></sup></a></span>
						取得相关的信息。 </div>
					</td>
				</tr>
			</table>
			</td>
		</tr>
	</table>
</div>

</body>

</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -