华南俳烁实业有限公司

考試首頁(yè) | 考試用書 | 培訓(xùn)課程 | 模擬考場(chǎng) | 考試論壇  
全國(guó)  |             |          |          |          |          |         
  當(dāng)前位置:計(jì)算機(jī)等級(jí) > 二級(jí)考試 > Java語(yǔ)言程序設(shè)計(jì) > 考試輔導(dǎo) > 文章內(nèi)容
  

全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)Java重點(diǎn)內(nèi)容(48)

中華IT學(xué)院   【 】  [ 2016年11月16日 ]

1.練習(xí)問題

  1)Action中利用DAO可以獲取出數(shù)據(jù)庫(kù)數(shù)據(jù),但是JSP獲取不到.

  原因:1.檢查Action屬性及getter方法

        2.檢查struts.xml中元素的配置,不能使用type="redirect"

        3.檢查execute中接收集合的變量是否為局部變量

  2) 工程啟動(dòng)出現(xiàn)錯(cuò)誤

     由于web.xml或struts.xml配置有誤.可以根據(jù)異常信息尋找.

2.補(bǔ)充問題

   1)Action屬性及setter和getter方法的問題

   Action屬性在接收和傳出數(shù)據(jù)時(shí),setter和getter方法是關(guān)鍵.

   a.接收時(shí),表單組件name="user" ,action要有setUser方法才可以接收.

   b.傳出數(shù)據(jù)時(shí),JSP使用${user},action要有g(shù)etUser方法對(duì)應(yīng)才可以獲取.

   public class Action{

       private String name;//成員變量name

      

       //有一個(gè)屬性,名字是user

       public String getUser(){

           return name;

       }

       public void setUser(String user){

         name = user;

       }

   }

3.OGNL技術(shù)

   Object Graphics Navigation Language(對(duì)象圖導(dǎo)航語(yǔ)言)

   OGNL是一種表達(dá)式語(yǔ)言技術(shù),封裝在ognl.jar開發(fā)包中.

可以很方便的對(duì)對(duì)象的屬性進(jìn)行獲取和設(shè)置.

   1)什么是EL,有什么用

   屬于表達(dá)式語(yǔ)言,可以訪pageContext,request,session,application存儲(chǔ)范圍的數(shù)據(jù).可以簡(jiǎn)化JSP程序.

   2)OGNL表達(dá)式,有什么用

    屬于表達(dá)式語(yǔ)言,需要ognl.jar提供支持.可以完成以下操作

    a.可以訪問對(duì)象屬性(獲取和設(shè)置)

       基本類型屬性:"id","name"

       數(shù)組類型屬性:"love[0]","love[1]"

       List類型屬性:"city[0]","city[1]"

       Map類型屬性:"books.key","books['key']"

    b.可以訪問對(duì)象的方法

       "city.size()","name.toUpperCase()"

    c.可以訪問靜態(tài)常量和方法

      "@java.lang.Math@PI"

    d.可以訪問集合中的數(shù)據(jù),進(jìn)行集合過濾等操作

      "persons.{?#this.age>20}" : 返回persons集合中,滿足age>20的所有元素. 

      ?指的是返回所有滿足條件的元素

      ^指的是返回第一滿足條件的元素

      $指的是最后一個(gè)滿足條件的元素

    e.支持Java中的運(yùn)算符和表達(dá)式

      "\"name\"+name","id+10"

    f.定義一個(gè)List和Map類型的常量

      List常量:"{1,2,3}"

      Map常量:"#{'age':20,'name':\"tom\"}"

  3)OGNL標(biāo)準(zhǔn)結(jié)構(gòu)

    OGNL有3個(gè)重要組成部分,一個(gè)OGNL引擎,一個(gè)是root對(duì)象,另一個(gè)是context對(duì)象.

    訪問context區(qū)域需要使用"#key"格式.

    沒有"#",例如"name",意思是訪問root對(duì)象的name屬性

4.OGNL技術(shù)在Struts2中應(yīng)用

   1)OGNL在xwork中進(jìn)行了改造

    xwork將OGNL中的root對(duì)象進(jìn)行了改造,將其改造成了一個(gè)棧結(jié)構(gòu),類型是CompountRoot繼承自ArrayList.在訪問root屬性時(shí),從棧頂對(duì)象向下依次查找,找到屬性值返回.

   2)ValueStack結(jié)構(gòu)

    ValueStack是Struts2中非常重要的數(shù)據(jù)對(duì)象,當(dāng)客戶發(fā)送一個(gè)請(qǐng)求后,控制器會(huì)根據(jù)當(dāng)前請(qǐng)求創(chuàng)建一個(gè)ValueStack,并將請(qǐng)求處理相關(guān)的數(shù)據(jù)進(jìn)行填充.

     root棧:存放當(dāng)前請(qǐng)求對(duì)應(yīng)的Action對(duì)象(棧頂)

     context(Map):存放request,session,application,parameters等信息

   3)JSP獲取業(yè)務(wù)數(shù)據(jù),需要使用Struts標(biāo)簽+OGNL表達(dá)式技術(shù)組合

分享到:
本文糾錯(cuò)】【告訴好友】【打印此文】【返回頂部
將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動(dòng)訪問考試網(wǎng) | 復(fù)制本頁(yè)地址,傳給QQ/MSN上的好友 | 申請(qǐng)鏈接 | 意見留言 TOP
關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  站內(nèi)導(dǎo)航  考試論壇
Copyright © 2006-2017 中華考試網(wǎng)(Examw.com) All Rights Reserved  營(yíng)業(yè)執(zhí)照
肥城市| 广宁县| 南雄市| 南开区| 客服| 平陆县| 若羌县| 西和县| 蒲城县| 共和县| 全南县| 洞头县| 碌曲县| 什邡市| 兰州市| 隆化县| 武陟县| 华蓥市| 若羌县| 安国市| 红桥区| 衡阳县| 思茅市| 大同市| 永清县| 大方县| 申扎县| 泸水县| 永州市| 湘潭县| 麻城市| 临城县| 延川县| 石阡县| 常宁市| 红安县| 石景山区| 双牌县| 长垣县| 梅州市| 象州县|