??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美偷拍视频,亚洲一级黄色,成人在线观看免费视频http://www.aygfsteel.com/masen/category/21081.html从现在开?/description>zh-cnMon, 07 May 2007 04:04:51 GMTMon, 07 May 2007 04:04:51 GMT60JSF中用Tileshttp://www.aygfsteel.com/masen/articles/115599.htmlMasenMasenSun, 06 May 2007 10:24:00 GMThttp://www.aygfsteel.com/masen/articles/115599.htmlhttp://www.aygfsteel.com/masen/comments/115599.htmlhttp://www.aygfsteel.com/masen/articles/115599.html#Feedback0http://www.aygfsteel.com/masen/comments/commentRss/115599.htmlhttp://www.aygfsteel.com/masen/services/trackbacks/115599.htmlJSF中用Tiles
    主要有两U方法。一U是使用myfaces中的JspTilesViewHandlerImpl,另一U方法是用struts1.1中的TilesServlet(因ؓ我正在?.2Q所以略q??/div>
 
Ҏ一Q用myfaces中的spTilesViewHandlerImpl。例E参见MyFaces的tiles例子
 
1.在web.xml中加一个参数定义,用于指定tiles定义文g
<context-param>
     <param-name>tiles-definitions</param-name>
     <param-value>/WEB-INF/config/tiles-defs.xml</param-value>
</context-param>
 
2.在JSF的配|文件中加一个view-handle,使JSF能处理tiles的定?/div>
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE faces-config PUBLIC
  "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
  "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
 
<faces-config>
<application>
    <view-handler>org.apache.myfaces.application.jsp.JspTilesViewHandlerImpl</view-handler>
 <message-bundle>resource</message-bundle>
 <locale-config>
  <default-locale>zh</default-locale>
 </locale-config>
</application>
 
</faces-config>
注: JspTilesViewHandlerImpl在comahawk的jar包中
 
3.定义tiles的定义文件和模板{,q与Struts中完全一栗?/div>

Masen 2007-05-06 18:24 发表评论
]]>DataModel的几U类?/title><link>http://www.aygfsteel.com/masen/articles/109182.html</link><dc:creator>Masen</dc:creator><author>Masen</author><pubDate>Sat, 07 Apr 2007 16:14:00 GMT</pubDate><guid>http://www.aygfsteel.com/masen/articles/109182.html</guid><wfw:comment>http://www.aygfsteel.com/masen/comments/109182.html</wfw:comment><comments>http://www.aygfsteel.com/masen/articles/109182.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/masen/comments/commentRss/109182.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/masen/services/trackbacks/109182.html</trackback:ping><description><![CDATA[<p>ListDataModel, ArrayDataModel, ResultDataModel, ResultSetDataModel, ScalarDataModel</p> <p><br>ListDataModel可以方便的包装java.util.List对象。ListDataModel(java.util.List list) <br>ArrayDataModel可以方便的包装Object[] 数组。ArrayDataModel(java.lang.Object[] array) <br>ResultDataModel可以方便地包装JSTL的结果对?JSTL Result Object),通常代表通过JSTL标签执行SQL语句产生的结果。ResultDataModel(javax.servlet.jsp.jstl.sql.Result result) <br>ResultSetDataModel可以方便的包装Java对象的结果集(ResultSet of Java objects). ResultSetDataModel(java.sql.ResultSet resultSet)注意Q这个结果集必须是可以滚动的(Scrollable),另外如果输入lg(可能更新模型?通过使用值绑定来引用q个对象Q这个结果集必须是可更新(Updatable)?<br>ScalarDataModel可以方便的包装单个Java对象。ScalarDataModel(java.lang.Object scalar)</p> <p> </p> <img src ="http://www.aygfsteel.com/masen/aggbug/109182.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/masen/" target="_blank">Masen</a> 2007-04-08 00:14 <a href="http://www.aygfsteel.com/masen/articles/109182.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>设计模式和JSF技??http://www.aygfsteel.com/masen/articles/107514.htmlMasenMasenFri, 30 Mar 2007 09:30:00 GMThttp://www.aygfsteel.com/masen/articles/107514.htmlhttp://www.aygfsteel.com/masen/comments/107514.htmlhttp://www.aygfsteel.com/masen/articles/107514.html#Feedback0http://www.aygfsteel.com/masen/comments/commentRss/107514.htmlhttp://www.aygfsteel.com/masen/services/trackbacks/107514.html帮助您洞?JSF 框架中用的设计模式Q深入理解其工作原理?br />
本文探讨?JSF 框架中用的设计模式。详l讨论的设计模式包括 Singleton、Model-View-Controller、Factory Method、State、Composite、Decorator、Strategy、Template Method ?Observer 模式?

设计模式?JavaServer Faces (JSF) 技?

首先要地介绍一下模式和 JSF 框架?br />
  • 模式?/strong>设计模式是对问题和解x案进行抽象的普遍适用的方法。因为模式是所有开发h员和架构师公认的Q所以模式可以节U时间和资源。用外行话来_模式是关于某个人所q的问题的l过验证的解x案。模式可以重用,重用使得解决Ҏ更健壮?
  • Java Server Faces?/strong> JSF 体系l构是一U?Web 应用E序框架。它?Java Community Process (JCP) 推动的,有望成ؓ Web 应用E序开发的标准框架。目前用于开?Web 应用E序的框架有 50 多个Q这说明q切需要实现框架的标准化,q正?JSF 框架的目标!
  深入剖析 JSF 模式

现在我们来讨?JSF 体系l构中的各种设计模式。本文将详细讨论 Singleton、Model-View-Controller、Factory Method、State、Composite、Decorator、Strategy、Template Method ?Observer 设计模式。我分析每U模式的用途及其在 JSF 框架中的作用?br />
Singleton 模式

Singleton 模式的目的是保证cd有一个实例被加蝲Q该实例提供一个全局讉K炏V当启动h JSF 支持?Web 应用E序ӞWeb 容器初始化一?FacesServlet 实例。在q个阶段QFacesServlet Ҏ?Web 应用E序实例?Application ?LifeCycle 实例一ơ。这些实例就采用众所周知?Singleton 模式Q通常只需要该cd的一个实例?br />
使用 JSF ?Web 应用E序只需?Application ?LifeCycle cȝ一个实例。LifeCycle 理多个 JSF h的整个生命期。因为其状态和行ؓ在所有请求之间共享,q些对象采用 Singleton 模式合情合理。LifeCycle l护?PhaseListeners 也是 Singleton 模式的。PhaseListeners 由所?JSF h׃n。在 JSF 框架中可以广泛?Singleton 模式Q以减少内存占用和提供对象的全局讉K。NavigationHandlerQ用于确定请求的逻辑l果Q和 ViewHandlerQ用于创图)也是使用 Singleton 模式的例子?br />
Model-View-Controller (MVC)

MVC 模式的目的是从数据表C(ViewQ中数据(?ModelQ分d来。如果应用程序有多种表示Q可以仅替换视图层而重用控制器和模型代码。类似的Q如果需要改变模型,可以在很大程度上不改变视囑ֱ。控 制器处理用户动作Q用户动作可能造成模型改变和视图更新。当用户h一?JSF 面Ӟh发送到 FacesServlet。FacesServlet ?JSF 使用的前端控制器 servlet。和其他很多 Web 应用E序框架一PJSF 使用 MVS 模式消除视图和模型之间的耦合。ؓ了集中处理用戯求,控制?servlet 改变模型q将用户D到视图?br />
FacesServlet ?JSF 框架中所有用戯求都要经q的控制器元素。FacesServlet 分析用户hQ用托?bean Ҏ型调用各U动作。后収ͼbackingQ或托管QmanagedQbean 是该模型的例子。JSF 用户界面QUIQ组件是视图层的例子。MVC 模式把Q务分解给h不同技能的开发h员,使这些Q务能够同时进行,q样 GUI 设计人员可以用丰富的 UI lg创徏 JSF 面Q同时后端开发h员可以创建托?bean 来编写专门的业务逻辑代码?br />
Factory Method 模式

Factory Method 模式的目的是定义一个用于创建对象的接口Q但是把对象实例化推q到子类中。在 JSF 体系l构中,Factory Method 模式被用于创建对象。LifeCycleFactory 是一个创建和q回 LifeCycle 实例的工厂对象。LifeCycleFactory ?getLifeCycle (String LifeCycleId) Ҏ采用 Factory Method 模式Q根?LifeCycleId 创徏Q如果需要)q返?LifeCycle 实例。自定义?JSF 实现可以重新定义 getLifeCycle 抽象Ҏ来创定义?LifeCycle 实例。默认的 JSF 实现提供默认?LifeCycle 实例。此外,对于每个 JSF hQFacesServlet 都从 FacesContextFactory 得到 FacesContext。FacesContextFactory 是一个抽象类Q公开?getFacesContext APIQJSF 实现提供?FacesContextFactory ?getFacesContext API 的具体实现。这是另外一个?Factory Method 模式的例子,具体?FacesContextFactory 实现创徏 FacesContext 对象?br />
State 模式

State 模式的目的是在表C状态的不同cM间分配与状态有关的逻辑。FacesServlet ?LifCycle 实例调用 execute ?render Ҏ。LifeCycle 协调不同?Phrase 以便执行 JSF h。在q里 JSF 实现遵循了 State 模式。如果没有用这U模式,LifeCycle 实现׃被大量的条gQ即 “if?语句Q搅得一塌糊涂。JSF 实现为每个状态(或阶D)创徏单独的类q调?step。phase 是一个抽象类Q定了每?step 的公共接口。在 JSF 框架中定义了六个 phraseQ即 stepQ:RestoreViewPhase、ApplyRequestValues、ProcessValidationsPhase?UpdateModelValuesPhase、InvokeApplicationPhase ?RenderResponsePhase?br />
?State 模式中,LifeCycle ?FacesContext 对象传递给 phase。每个阶D|状态改变传递给它的上下文信息,然后讄 FacesContext 本n中的标志表明下一个可能的步骤。JSF 实现在每个步骤中改变其行为。每个阶D都可以作ؓ下一个阶D늚起因。FacesContext 有两U标?renderResponse ?responseComplete 可以改变执行的顺序。每个步骤执行完成后QLifeCycle 查上一阶段是否讄了这些标志。如果设|了 responseCompleteQLifeCycle 则完全放弃请求的执行。如果经q某个阶D后讄?renderResponse 标志QJSF ׃跌剩下的阶D而直接进?Render Response 阶段。如果这两个标志都没有设|,LifeCycle ׃按顺序l执行下一步?br />
Composite 模式

Composite 模式让客户代码能够统一处理复合对象和基本对象。复合对象是基本对象的容器。在W一阶段QRestore View 阶段Q和最后一个阶D(Render Response 阶段Q,使用 JSF UI lg构?UI View。UIComponentBase 是 Composite 模式?Component 抽象cȝ一个例子。UIViewRoot ?Composite c,?UIOutputQ比方说Q就是叶子(或者基本类Q。UIComponentBase cd义了叶子和复合对象的公共ҎQ如~码/解码值和子节点管理函数。子节点理函数Q如 getChildrenQ对于叶子节点返回空列表Q对于复合节点则q回其子节点?br />
Decorator 模式

Decorator 模式的目的是不通过子类化动态扩展对象的行ؓ。JSF 框架有很多扩展点Q即可插入机Ӟ。JSF 实现可?Decorator 模式替换默认?PropertyResolver、VariableResolver、ActionListener、NavigationHandler?ViewHandler ?StateManager。通常自定义实现接受通过构造函C递给它的默认实现的引用。自定义实现仅仅改写功能的一个子集,而将其他功能委托l默认实现?如果希望实现自定义的 ViewHandlerQ改写默?ViewHandler 实现?calculateLocale ҎQ可以像 清单 1 那样~写
 public class CustomViewHandler extends ViewHandler {  
public CustomViewHandler(ViewHandler handler) {
      super();
      oldViewHandler = handler;
      }
     private ViewHandler oldViewHandler = null;
      public void renderView (facesContext context, UIViewRoot view) {
   //delegate method to oldViewHandler
      oldViewHandler.renderView(context, view);
      }
      //custom implementation of calculateLocale
      public Locale calculateLocale(FacesContext context)
      {
     }
}

Strategy 模式

Strategy 模式的目的是装不同的概cJSF 框架采用 Strategy 模式使用委托实现模型呈现 UI lg。JSF 技术支持两U呈现模型。在直接实现模型中,UI lgҎ到的h中的数据q行解码Q然后编码这些数据进行显C。在委托实现模型中,解码和编码操作委托给和组建关联的专门呈现器。后一U模型利用了 Strategy 设计模式Q比直接实现更灵zR在 Strategy 模式中,不同的法装在单独的对象中,从而可以动态地改变法。JSF 实现可以用已有的 renderkit 实例注册另外的呈现器Q当应用E序启动的时候,JSF 实现d配置文g这些呈现器?UI lg联系在一赗?br />
Template Method 模式

Template Method 模式的目的是变化的步骤推迟到子cMQ而在父类中定义那些固定的法步骤。JSF 框架通过 PhraseListeners 展现?Template Method 模式提供的功能。采?Template MethodQ或?“hook”)使得 Web 作者可以ؓ不同阶段之间的可选步骤提供实玎ͼ而主要阶D仍然和 JSF 框架的定义一致。JSF 框架提供?PhaseListenersQ概念上cM?Template Method 模式中的可变步骤。JSF 框架有六个预定义的阶D,在每个阶D之_Web 作者可以实?PhaseListeners 来提供类g Template Method hook ?hook。事实上Q这U结构比 Template Method 模式更具有扩展性。可以通过注册 PhraseId ?ANY_PHRASE ?PhaseListener 在每个阶D后提供 hook。如?PhaseId ?ANY_PHASEQJSF 实现׃在每个阶D之前和之后调用?PhaseListener。JSF 框架中的实现略有不同Q因为可以根本没?PhaseListenerQ但是在 Template Method 模式中,子类通常重新定义父类中抽象的可变步骤?br />
Observer 模式

Observer 模式的目的是当目标对象的状态改变时自动通知所有依赖的对象Q即观察器)。JSF ?UI lg中实C Observer 模式。JSF 有两cdZӞActionEvent ?ValueChangedEvent。ActionEvent 用于定用户界面lgQ如按钮Q的ȀzR当用户单击按钮ӞJSF 实现通知d到该按钮上的一个或多个动作监听E序。于是该按钮被激z,或者说按钮Q主体)的状态改变了。添加到按钮上的所有监听程序(卌察器Q都收到?知该M状态已l改变。类似的Q当输入 UI lg中的值改变时QJSF 实现通知 ValueChangeListener?br />
l束?/strong>

JSF 框架利用?Singleton、Model-View-Controller、Factory Method、State、Composite、Decorator、Strategy、Template Method ?Observer 设计模式。因为它的体pȝ构徏立在已经验证的设计模式的基础上,q是一个健壮的框架Q模式在 JSF 框架中得


Masen 2007-03-30 17:30 发表评论
]]>JSF常用标签http://www.aygfsteel.com/masen/articles/107145.htmlMasenMasenThu, 29 Mar 2007 02:38:00 GMThttp://www.aygfsteel.com/masen/articles/107145.htmlhttp://www.aygfsteel.com/masen/comments/107145.htmlhttp://www.aygfsteel.com/masen/articles/107145.html#Feedback0http://www.aygfsteel.com/masen/comments/commentRss/107145.htmlhttp://www.aygfsteel.com/masen/services/trackbacks/107145.html 标签 说明 view 创徏层视图 subview 创徏视图的子视图 facet 向组件添?facet param 向组件添加参?/td> attribute 向组件添加属?/td> actionListener 在父lg上注册操作监听器 valueChangeListener 向父lg注册值变更监听器 converter 注册L转换?/td> convertDateTime 注册日期旉转换?/td> convertNumber 注册数量转换?/td> validateLength 验证lg值的长度 validateDoubleRange 验证lg值的双精度范?/td> validateLongRange 验证lg值的长整型范?/td> validator 向组件添加验证器 loadBundle 加蝲资源?/td> verbatim 向页面中d标签 selectItem 指定 UISelectOne ?UISelectMany lg的一个项?/td> selectItems 指定 UISelectOne ?UISelectMany lg的多个项?/td>        



lg 标签 说明
UIForm form 表示 HTML表单元素
UIInput InputText 单行文本输入控g
  inputTextarea 多行文本输入控g
  InputSecret 密码输入控g
  inputHidden 隐藏字段
UIOutput outputLabel 昄文本
  outputLink 链接到另一面或某面上的特定位置
  outputFormat 昄格式化的信息
  outputText 当行文本输入
UICommand commandButton 表示一个按?/td>
  commandLink 表示一个链?/td>
UISelectOne SelectOneListbox 单选列表框
  selectOneMenu 单选菜?/td>
  selectOneRadio 单选按钮集
UISelectBoolean selectBooleanCheckbox 单个复选框
UISelectMany selectManyListbox 复选框?/td>
  selectManyCheckbox 多行选择列表?/td>
  selectManyMenu 多选菜?/td>
UIPanel panelGrid 表示一 ?HTML 表格
  panelGroup l合一pdlg
UIMessage message 昄一个组件的最q用的消息
  messages 昄所有消?/td>

UIGraphic
graphicImage 昄一个图?/td>
UIData dataTable 功能丰富的表格控?/td>
UIColumn column 表示表格中的?/td>
表单 h:form 产生 HTML form 元素
     
     
     



Masen 2007-03-29 10:38 发表评论
]]>
վ֩ģ壺 żҽ| ƽ| | | | ɽ| | μԴ| | | ̩| ƽȪ| ƽ˳| | կ| | | ˼| | | ɣֲ| Ӫ| | | | | Ӫ| | ũ| | | | ľ| | ɽ| ˮ| ܿ| ߴ| | | |