A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 巴拉巴拉x 于 2018-5-21 10:45 编辑


EL&JSTL与MVC初识



EL



EL的概述
  • Expression Language 表达式语言
EL的作用
  • 简化JSP的代码,而且减少<% % >
使用EL表达式
  • 语法: ${EL表达式 }
EL的功能
  • 获取数据:JSP的四个域,好像只能从这四个域中获取数据--->在域中用什么名字存的,就用什么名字取出来,存进去的是什么数据类型,取出来也是什么数据类型.
    • 用域对象获取值:如果没找到,返回null
    • 用el表达式获取值,如果没找到,返回 ""(空字符串)
    • 从指定的域中获取数据
    • ${ name } 相当于 pageContex.findAttribute(name).优先级也一样
      • page > request > session > application
    • $ {}外面不需要些分号
    • 属性用.下标(索引)用
    • []和点(.)的区别
      • []用于有下标的数据(数组,list集合),而.用于有属性的数据(map,对象)
      • 属性中有特殊字符的时候就不能用.而用[],而且放括号内属性名称要用双引号,
      • 一个${},只能获取一个值,
      • .属性,其实是调用的get方法,如果对象中没有get方法则无法取出.

  • 执行运算
    • 算数运算
      • '+' '-' '*' '/'
      • 默认类型转换,把数字字符串转换成数字再进行运算.
    • 逻辑运算
      • ${n1 < n2} 或者 ${n1 lt n2}
      < ---> lt ---> less than  ; > ---> gt ---> great than  ; == ---> eq---> equals   ;   <= ---> le---> less equals    ;    >= ---> ge---> great equals
    • 关系运算
      • && || !
      && ---> and|| ---> or!  ---> not
    • 执行三元运算
      • ${n1 < n2 ? "正确" : "错误"}
    • empty运算
      • ${user == null} ---> ${empty user}
      • ${user != null} ---> ${not empty user}
    • 不能进行位运算
  • 操作web开发的常用对象
    • pageScope:只能获取域中的值
    • requestScope
    • sessionScope
    • applicationScope
    • param
    • paramValues
    • header
    • headerValues
    • initParam :获取全局化参数
    • cookie : web开发中的cookie
      • ${cookie.名字.value}
    • pageContext: web开发中的pageContext
      • ${pageContext.request.contextPath}:工程名.结果是 / 工程名
      • 可以获取其他八个对象.EL中不能直接写其他八个对象,

  • 调用Java中的方法(自定义标签文件,把方法注册到标签中,不常用)


JSTL



  • 作用:简化页面的Java代码书写
    • JSTL和EL结合 替换页面中 <% % >
    • 现在常用的功能
      • 判断
        • c:if test="条件"
      • 遍历
        • c:foreach
        • 数组
        • 集合
        • Map


  • 版本
    • JSTL1.0 :不支持EL表达式
    • JSTL1.1和1.2 :支持EL表达式
  • JSTL的标签库:包含了五类标签
    • core:核心标签
    • fmt:国际化标签
    • fn:JSTL提供的EL函数库
    • xml
    • sql
  • 使用JSTL
    • 引入jar包
    • 在页面中引入标签库
      • <%@ taglib uri="" prefix= "" %>
        • 带路径带jsp的是1.1版本的


  • 由JSTL提供的EL函数库
    • 主要是用来处理字符串的
    • 引入一个新的标签库
    • 以fn开头
    ${ fn: contains("Hello World","Hello")${ fn: length(字符串) }${fn:toLowerCase(字符串)}....


MVC 设计模式



  • 模式一
    • JSP + JavaBean
  • 模式二
    • JSP + JavaBean + Servlet
      • 也叫做MVC模式




0 个回复

您需要登录后才可以回帖 登录 | 加入黑马