Jfinal學(xué)習(xí)筆記-Controller

Jfinal學(xué)習(xí)筆記

Controller 控制層:

1、Controller 類是控制層的重要抽象類,實(shí)現(xiàn)web應(yīng)用的類繼承此類。此抽象類中有大量的獲取參數(shù)方法、傳遞數(shù)據(jù)方法、返回客戶端方法。

2、繼承了Controller抽象類的類中每一個public方法為一個action,請求的最小單位。在action中獲取參數(shù)時可以使用 getParaXXX、getBeanXXX、getModelXXX方法。

3、在不同場景中可以使用不同的方法獲取參數(shù),getParaXXX系列方法用于獲取普通單個或一組數(shù)據(jù),getBeanXXX和getModel系列方法用于獲取需要封裝的對象值。

4、在getBeanXXX系列方法中最終都調(diào)用了 Injector 類的 injectBean 方法,在此方法中通過反射構(gòu)建bean對象,獲取request中的map數(shù)據(jù)和bean的方法名集合,通過循環(huán)對方法集合中以set開頭的方法和map數(shù)據(jù)中的key值進(jìn)行對比,之后對bean進(jìn)行值填充并返回對象。

public static final <T> T injectBean(Class<T> beanClass, String beanName, HttpServletRequest request, boolean skipConvertError)

5、在getModelXXX系列方法中最終都調(diào)用了 Injector 類中的 injectModel 方法,也是通過反射構(gòu)建model對象,獲取request中的數(shù)據(jù)并填充model對象,和injectBean不同的是此方法使用數(shù)據(jù)庫表字段名進(jìn)行數(shù)據(jù)注入。

public static final <T> T injectModel(Class<T> modelClass, String modelName, HttpServletRequest request, boolean skipConvertError)

6、傳遞數(shù)據(jù)時使用 setAttr 方法或者 set 方法,此方法將數(shù)據(jù)存入request中。

public Controller set(String attributeName, Object attributeValue) {
   request.setAttribute(attributeName, attributeValue);
   return this;
}

7、 renderXXX系列方法將渲染不同類型的視圖并返回給客戶端,renderManager 的 getRenderFatory 方法會返回 IRenderFactory 接口的的實(shí)現(xiàn)類 RenderFactory 的對象。RenderFactory 類中實(shí)現(xiàn)了 getXXXRender 系列方法,此方法返回了 XXXRender 對象實(shí)體。XXXRender 是在 render 包下定義的不同類類型的渲染類。由此實(shí)現(xiàn)了調(diào)用不同 RenderXXX 方法獲取不同 XXXRender 實(shí)體。

public void renderJson(String jsonText) {
   render = renderManager.getRenderFactory().getJsonRender(jsonText);
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • JAVA面試題 1、作用域public,private,protected,以及不寫時的區(qū)別答:區(qū)別如下:作用域 ...
    JA尐白閱讀 1,271評論 1 0
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對...
    cosWriter閱讀 11,675評論 1 32
  • 最近想系統(tǒng)的學(xué)習(xí)一下Spring的相關(guān)知識,在這里分享一下。也希望能幫助那些對英文技術(shù)文檔閱讀比較困難的朋友。接下...
    Aiibai閱讀 1,674評論 5 16
  • 1.Spring整體架構(gòu) 1)核心容器(Core Container) Core模塊,主要包含了Spring框架基...
    Sponge1128閱讀 1,258評論 0 1
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 4,017評論 0 11

友情鏈接更多精彩內(nèi)容