欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
JSF學(xué)習筆記
I 

FAQ   

1. JSFSpring如何結合?

A: 通過(guò)在faces-config配置文件中加入

     <application>

        <variable-resolver>org.springframework.web.jsf.DelegatingVariableResolver</variable-resolver>

     </application>

     可以使JSFSpring結合。

 

2. 為何稱(chēng)JSF是基于event的?而Struts是基于請求驅動(dòng)或者Command驅動(dòng)。

A: JSF是以頁(yè)面組件為中心的,而頁(yè)面組件是面向事件的。JSF只有commandButton,commandLink這兩個(gè)UI組件是基于事件的,可以設定action屬性,而該屬性便是調用后臺managed-bean的對應方法。

    不過(guò)ASP.NET是所有UI組件都是面向事件的。

    而其他UI組件,可以通過(guò)設定value屬性,來(lái)調用后臺managed-bean的對應方法,獲取其返回值。例如:

    <h:outputText value="#{testBean.creationTime}"/>

    如果獲取的返回值是一個(gè)自定義類(lèi)型或者List,如何進(jìn)行取自定義類(lèi)型的屬性或者迭代?

    可以通過(guò)類(lèi)似EL(稱(chēng)為JSF-EL)的方式來(lái)獲取嵌套屬性的值??梢酝ㄟ^(guò)#{purchases.cheapItems[2]}或者

#{purchases.valuableItems["low"]}獲取List的值。

 

3. JSF的訪(fǎng)問(wèn)路徑的機制?

A: JSF是以頁(yè)面組件為中心的,類(lèi)似ASP.NET。所以要訪(fǎng)問(wèn)JSF的應用,實(shí)際上是直接訪(fǎng)問(wèn)JSP頁(yè)面。不過(guò)對xx.jsp的訪(fǎng)問(wèn)路徑要修改成xx.faces。(類(lèi)似ASP.NET去訪(fǎng)問(wèn)xx.aspx

 

  

4. JSF是否有interceptor等攔截器機制?如何在managed-bean中使用ServletAPI?

A: JSF可以在頁(yè)面增加actionListener,類(lèi)似interceptor的機制。

   ServletAPI可以通過(guò)FacesContext,例如:

   FacesContext fc = FacesContext.getCurrentInstance();

   fc.getExternalContext().getResponse();

   fc.getExternalContext().getRequest();

 

 

5. JSF可否結合其他JSP標簽?結合ajax是否方便?在頁(yè)面層結合Scriptlet是否方便,可否跟requestAttribute等結合使用?

A: JSF可以使用其他JSP標簽以及JSTL。JSF通過(guò)EL取值和通過(guò)JSF-EL取值是效果一樣的。例如

     <LI>Employee's first name: ${employee.name.firstName}

   <LI>Employee's first name: <h:outputText value="#{employee.name.firstName}"/> 作用一樣。

 

   JSF后臺managed-bean的返回值實(shí)際上是放在requestAttrubite中,key為其屬性名。所以可以直接在JSPScriptlet中與requestAttribute等結合使用。

 

 

6. JSFMVC框架與Struts框架的異同?

A: JSFMVC框架跟ASP.NET類(lèi)似,是以頁(yè)面組件為中心的。 要先訪(fǎng)問(wèn)指定的jsp相關(guān)的faces然后再跳轉到Controller最后再到View。如下圖所示:

    StrutsMVC框架是 Controller(action)->View(JSP)

    JSFMVC框架是    View(*.faces)->Controller(managed-bean)->View(JSP)

 

7.JSF能否實(shí)現類(lèi)似Struts action(or servlet)->view(JSP)?.faces相關(guān)的jsp能否隱藏起來(lái)?

A: 都不能。  

 

8.JSF<managed-bean>可以實(shí)現對actionBean的設值注入。

 

9.配置文件的分離,通過(guò)在web.xml中設置

  <context-param>

     <param-name>javax.faces.CONFIG_FILES</param-name>

     <param-value>/WEB-INF/faces-config-beans.xml,/WEB-INF/faces-config-nav.xml</param-value>

  </context-param>

10.JSFASP.NET的一些區別。

   ASP.NET頁(yè)面控件的nameid 是跟自命名是一致的。例如:

   <input name="TextBox1" type="text" value="ss" id="TextBox1" />

 

11.JSF如何傳遞頁(yè)面參數?

A: 通過(guò)<h:commandLink action="viewProduct" styleClass="highLightLink">

      <h:outputText value="view"/>

      <f:param name="productId" value="#{productBean.id}"/>

      </h:commandLink>

   這種方式是通過(guò)post來(lái)傳遞參數的。對于url參數只能在backingBean中,通過(guò)如下代碼獲取

   FacesContext fc = FacesContext.getCurrentInstance();

String id = (String) fc.getExternalContext().getRequestParameterMap().get("id");

 

    JSF的優(yōu)缺點(diǎn):

    我認為JSF的優(yōu)缺點(diǎn)都是因為這個(gè)框架是以頁(yè)面組件為中心。

    優(yōu)點(diǎn):可以利用一些功能強大的UI組件,這些UI組件是服務(wù)器端,并且基于事件的??梢苑奖愕囟x事件響應方法。

    缺點(diǎn):太依賴(lài)于UI組件。目前尚沒(méi)有可以跟vs.net媲美的IDE來(lái)支持基于UI組件的開(kāi)發(fā)。所以開(kāi)發(fā)和配置起來(lái)還是有些麻煩,而且開(kāi)發(fā)自定義的UI組件更加復雜。

            因為依賴(lài)于UI組件,所以頁(yè)面層的開(kāi)發(fā)不夠靈活。

            因為依賴(lài)于UI組件,所以很多原始的html標簽不能用。這導致美工設計的靜態(tài)頁(yè)面,到程序員這邊還要經(jīng)過(guò)不小的調整,而不像其他web框架那樣結合方便。

   

 

 

    JSF的標準標簽包括以下幾個(gè)類(lèi)別:   

輸出(Outputs

  其名稱(chēng)以output作為開(kāi)頭,作用為輸出指定的訊息或綁定值。

輸入(Inputs

  其名稱(chēng)以input作為開(kāi)頭,其作用為提供使用者輸入字段。

命令(Commands

  其名稱(chēng)以command作為開(kāi)頭,其作用為提供命令或連結按鈕。

選擇(Selections

  其名稱(chēng)以select作為開(kāi)頭,其作用為提供使用者選項的選取。

其它

  包括了form、message、messages、graphicImage等等未分類(lèi)的標簽。

 

JSF的頁(yè)面組件的屬性中,都沒(méi)有name這個(gè)屬性。    這些標準標簽都可以設定id、styleClass等屬性值。

 

   如果自定義JSF的頁(yè)面組件,一般會(huì )用到以下的類(lèi):

   javax.faces.component.UIComponent

 自定義Component所要繼承的父類(lèi)別,但通常,您是繼承其子類(lèi)別,例如UIInput、UIOutput等等。

javax.faces.webapp.UIComponentTag

 自定義JSF標簽所要繼承的父類(lèi)別,繼承它可以幫您省去許多JSF標簽處理的細節。

javax.faces.context.FacesContext

 包括了JSF相關(guān)的請求信息,您可以透過(guò)它取得請求對象或請求參數,或者是Application對象。

javax.faces.application.Application

 包括了一個(gè)應用程序所共享的信息

 

   如果安裝了myeclipse,jsp頁(yè)面中只要包含有jsftaglib(如下所示),則會(huì )自動(dòng)打開(kāi)JSFDesigner

   <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>

<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>    

 

   JSFStruts2的整合

JSF可以跟Struts2進(jìn)行整合,具體參考《Struts 2權威指南》

后臺可以使用Struts2Action類(lèi),這些類(lèi)因為可以有Spring來(lái)管理,更具有可測試性。

前臺頁(yè)面依舊使用JSF的頁(yè)面組件。

 

只要加入struts2jsflib包以及struts2-jsf-plugin-2.**.jar

然后簡(jiǎn)單修改web.xml以及在struts.xml中加入相應的interceptors即可,而不需要faces-config.xml配置文件。

    <package name="jsf" extends="jsf-default">

      <interceptors>

       <interceptor-stack name="jsfFullStack">

        <interceptor-ref name="params" />

        <interceptor-ref name="basicStack"/>

        <interceptor-ref name="jsfStack"/>

       </interceptor-stack>

      </interceptors>

      <default-interceptor-ref name="jsfFullStack"/>

     </package>

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
JSF,早晨八九點(diǎn)鐘的太陽(yáng)冉冉升起
表現層框架Struts/Tapestry/JSF架構比較
JAVA Web框架比較
集成JSP/JSF和XML/XSLT
一定要選擇單一技術(shù)嗎?
MyEclipse下開(kāi)發(fā)JSF(2)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久