目录

  • 1 课程概述及开发工具
    • 1.1 第1次课 课程概述
    • 1.2 第1次课  开发工具
  • 2 HTML基础(4+2)
    • 2.1 第2次课  认识HTML
    • 2.2 第3次课  表格制作
    • 2.3 第4次课  表单:文本框和按钮制作
    • 2.4 第4次课  表单:单选框制作
    • 2.5 第4次课  表单:复选框制作
    • 2.6 第4次课  表单:下拉框制作
    • 2.7 第4次课  表单综合练习
    • 2.8 综合项目:大学生消费水平调查问卷网页设计
    • 2.9 第4次课 CSS基础
      • 2.9.1 第4次课  认识CSS-嵌入式CSS语句
      • 2.9.2 第4次课  认识CSS-文档头内CSS语句
      • 2.9.3 第4次课  认识CSS-CSS外部文件应用
      • 2.9.4 附:CSS参考手册
  • 3 JSP开发基础
    • 3.1 第1次课 认识JSP
    • 3.2 第1次课  EL语言
    • 3.3 第1次课 JSP页面元素
    • 3.4 第2次课  JSP页面元素-代码片段
    • 3.5 第3次课  JSP页面元素-标签行为
      • 3.5.1 第3次课  标签行为jsp:useBean
    • 3.6 第4次课 标签行为 jsp:forward
      • 3.6.1 第4次课 标签行为jsp:param
    • 3.7 第5次课 再一次认识JSP
    • 3.8 附:JavaEE API(开发者参考手册)
    • 3.9 jsp基础测试题
  • 4 JSP内置对象
    • 4.1 第1次 JSP内置对象概述
    • 4.2 第1次 request对象概述
    • 4.3 第2次 request对象获取表单中的请求参数
    • 4.4 第3次 request对象获取URL中的请求参数
    • 4.5 第4次 小项目:列表导航与详情页面设计
    • 4.6 第5次 request对象获取特殊的请求参数-“一对多键-值”对(选)
    • 4.7 第5次 小项目:调查问卷(选)
    • 4.8 第6次 session对象
    • 4.9 第7次 存储“键-值”对到session对象
    • 4.10 第8次 存储“键-值(对象)”对到session对象
    • 4.11 第9次 小项目:果卉团-选购功能设计与实现
    • 4.12 第10次 application对象
    • 4.13 第10次 小项目:运用application实现留言板
  • 5 Servlet开发基础
    • 5.1 第1次 Servlet概述
    • 5.2 第1次 Servlet的生命周期
    • 5.3 第2次 Servlet生成HTML页面
    • 5.4 第3次 Servlet处理表单数据
    • 5.5 第4次 Servlet页面重定向
    • 5.6 第4次 小项目:Web计算器
    • 5.7 第5次 Servlet请求转发
    • 5.8 第6次 Servlet中访问HttpSession对象
    • 5.9 第7次 小项目:简单Web教师工资计算
  • 6 JDBC数据库访问技术
    • 6.1 第1次 JDBC概述
    • 6.2 第2次 JDBC-Statement、ResultSet
    • 6.3 第3次 JDBC实现Web页面简单查询
    • 6.4 第4次 JDBC完成表单查询应用
    • 6.5 第4次 小项目:“寝室大事记”Web查询系统
    • 6.6 第5次 JDBC-预准备语句PreparedStatement
    • 6.7 第6次 JDBC完成增删改功能应用
    • 6.8 第7次 小项目:基于层次架构模式的Web教师工资管理系统
    • 6.9 JDBC API
第1次课  EL语言


EL简述及作用:

表达式语言(ExpressionLanguageEL)是一种简单易用的语言,并可以简化对JSP内置对象(pageContextsessionrequest等)和JavaBean组件的访问。


静态模板(Template)实际上就是JSP页面内不需要执行代码只用直接输出的文本内容。

它包括JSP页面内除代码、页面指令、标签行为外的所有文本内容。JSP容器在解译阶段,将把这些静态文本内容直接解译成相应的文本流输出。但是在静态文本中,我们常常需要将一些容易得到的代码运行结果的值显示出来,比如某个用户登录页面时该用户的登录名、登录次数、经验值、昵称等。如果为了取得这些变量的值而在JSP页面中大量使用代码片断,既影响页面设计的一致性和可读性,也使得页面逻辑开发者无法容易的整理维护业务逻辑,界面与业务代码不能很好分离,影响开发效率。所以EL(Expression Language,表达式语言)语法被发展起来,并在JSP页面中得到了广泛应用。

EL取值形式

最常见的EL取值形式是使用"${}"与"#{}"包含相应内容。在包含的内容里,应该是JSP页面上下文中可以直接访问的JAVA变量、对象名。

EL访问变量

如下例JSP片段中,${userbirthdate}与${usersex}分别表示取出JAVA字符串变量userbirthdate与usersex的值。

<div>出生日期:${userbirthdate} 性别:${usersex}</div>

在被JSP容器处理后,结果网页内容如下:

<div>出生日期:1989-1-2 性别:男</div>

EL使用算术及逻辑表达式

EL语法中可以使用算术及逻辑表达式,这在一些需要进行简单判断才能得出结果的场合是很有用的,EL会将表达式的结果计算出来后,再转化成字符串。

假设userget与userpaid分别表示用户的收入和支出,EL表达式将把userget与userpaid相减的结果显示为用户的总收入。逻辑变量isgraduated与isadult分别表示是否已从学校毕业及是否已超过成人年龄,而将该两个逻辑变量的与的结果显示为用户是否可以开启账户的结果:

<div>收入:${userget} 支出:${userpaid} 总收入:${userget - userpaid}</div>

<div>是否毕业:${isgraduated} 是否成年:${isadult} 可否开户:${isgraduated && isadult}</div>

生成的结果网页如下:

<div>收入: 300.00 支出:434.00 总收入:134.00 </div>

<div>是否毕业:true 是否成年:false 可否开户:false</div>

EL访问对象中的属性值

如果想使用某个对象中的属性值,也是非常方便的,使用”.”操作符可以直接获取某个对象的属性值。下例中将会提取myuser对象的age、sex、level等属性(JSP页面运行时必须存在myuser对象)。如:

<div>

用户年龄:${myuser.age}</div>

<div>用户性别:${myuser.sex}</div>

<div>用户级别:${myuser.level}</div>

生成的结果网页如下:

<div>用户年龄:23</div>

<div>用户性别:男</div>

<div>用户级别:14</div>

EL访问对象中的方法

使用”.”操作符可以访问对象的某个方法。

例如:

<jsp:useBean id = "s2" class = "testpack.Student"></jsp:useBean>

<jsp:setProperty name="s" property="sname" value="Jake"></jsp:setProperty>

${s2.getName()}

生成的结果网页为:

Jake

EL访问数组

当我们引用的变量是一个数组、一个散列表、一个列表等集合数据结构时,可以

采用"[]"方式来引用该变量中的成员。成员如果是个对象,我们可以继续使用上述的属性引用语法。可以一直使用这种方法来得到你所需要的值。如下例,我们将使用user数组myarray中

第三个元素的age属性。

<div>用户年龄:${myarray[2].age}</div>

生成的结果网页如下:

<div>用户年龄:19</div>

EL相关学习

EL事实上最初是在开发JSTL(JAVA标准标签库)1.0的过程中为了让页面设计者方便地存取JSTL的标签属性设计的,因为使用方便表达清晰被移入了JSP规范之中。同时它也成了JSP页面访问内存中对象的首选语言。以后随着JAVA开发框架的发展,每种开发框架都或多或少的发展了自己的一套或者使用了某种第三方内存对象访问语言,如Struts 2使用OGNL,Spring使用SpEL,JBoss开发框架使用JBoss EL,它们的基础或者模仿对象都是EL。所以一旦我们熟悉了EL的表达方式,也就容易掌握其他对象存取语言。

小结

EL语言在JSP页面中可以很方便地存取JAVA变量和对象的值,这比起以前的

“<% %>”表达式取值方式要简单直观得多。

本页面内容全部由作者姚远原创,请使用者写明出处后再行使用。