考试首页 | 考试用书 | 培训课程 | 模拟考场 | 考试论坛  
全国  |             |          |          |          |          |         
  当前位置:计算机等级 > 二级考试 > Java语言程序设计 > 考试辅导 > 文章内容
  

全国计算机等级考试二级Java重点内容(48)

中华IT学院   【 】  [ 2016年11月16日 ]

1.练习问题

  1)Action中利用DAO可以获取出数据库数据,但是JSP获取不到.

  原因:1.检查Action属性及getter方法

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

        3.检查execute中接收集合的变量是否为局部变量

  2) 工程启动出现错误

     由于web.xml或struts.xml配置有误.可以根据异常信息寻找.

2.补充问题

   1)Action属性及setter和getter方法的问题

   Action属性在接收和传出数据时,setter和getter方法是关键.

   a.接收时,表单组件name="user" ,action要有setUser方法才可以接收.

   b.传出数据时,JSP使用${user},action要有getUser方法对应才可以获取.

   public class Action{

       private String name;//成员变量name

      

       //有一个属性,名字是user

       public String getUser(){

           return name;

       }

       public void setUser(String user){

         name = user;

       }

   }

3.OGNL技术

   Object Graphics Navigation Language(对象图导航语言)

   OGNL是一种表达式语言技术,封装在ognl.jar开发包中.

可以很方便的对对象的属性进行获取和设置.

   1)什么是EL,有什么用

   属于表达式语言,可以访pageContext,request,session,application存储范围的数据.可以简化JSP程序.

   2)OGNL表达式,有什么用

    属于表达式语言,需要ognl.jar提供支持.可以完成以下操作

    a.可以访问对象属性(获取和设置)

       基本类型属性:"id","name"

       数组类型属性:"love[0]","love[1]"

       List类型属性:"city[0]","city[1]"

       Map类型属性:"books.key","books['key']"

    b.可以访问对象的方法

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

    c.可以访问静态常量和方法

      "@java.lang.Math@PI"

    d.可以访问集合中的数据,进行集合过滤等操作

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

      ?指的是返回所有满足条件的元素

      ^指的是返回第一满足条件的元素

      $指的是最后一个满足条件的元素

    e.支持Java中的运算符和表达式

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

    f.定义一个List和Map类型的常量

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

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

  3)OGNL标准结构

    OGNL有3个重要组成部分,一个OGNL引擎,一个是root对象,另一个是context对象.

    访问context区域需要使用"#key"格式.

    没有"#",例如"name",意思是访问root对象的name属性

4.OGNL技术在Struts2中应用

   1)OGNL在xwork中进行了改造

    xwork将OGNL中的root对象进行了改造,将其改造成了一个栈结构,类型是CompountRoot继承自ArrayList.在访问root属性时,从栈顶对象向下依次查找,找到属性值返回.

   2)ValueStack结构

    ValueStack是Struts2中非常重要的数据对象,当客户发送一个请求后,控制器会根据当前请求创建一个ValueStack,并将请求处理相关的数据进行填充.

     root栈:存放当前请求对应的Action对象(栈顶)

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

   3)JSP获取业务数据,需要使用Struts标签+OGNL表达式技术组合

分享到:
本文纠错】【告诉好友】【打印此文】【返回顶部
将考试网添加到收藏夹 | 每次上网自动访问考试网 | 复制本页地址,传给QQ/MSN上的好友 | 申请链接 | 意见留言 TOP
关于本站  网站声明  广告服务  联系方式  站内导航  考试论坛
Copyright © 2006-2017 中华考试网(Examw.com) All Rights Reserved  营业执照