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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 庞帅 初级黑马   /  2018-5-21 15:07  /  580 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

EL & JSTL & MVC
EL表达式
【EL的概述】
Ø 目的:为了使JSP写起来更加简单。及简化JSP代码,减少<% %>
Ø 使用:语法是${EL表达式}
Ø 功能:
*获取数据:(JSP的四个域)
*执行运算
*操作web开发的常用对象
*调用Java中方法:---很少使用
【获取数据】
***** .和[]的区别.  
* []用于有下标的数据(数组,list集合) .用于有属性的数据(map,对象)
  * 如果属性名中包含有特殊的字符.必须使用[]
数组,List:[]  ---遍历
Map,java对象:...属性
【EL的执行运算】
<h3>EL执行算数运算</h3>
<%
        pageContext.setAttribute("n1", "10");
        pageContext.setAttribute("n2", "20");
        pageContext.setAttribute("n3", "30");
        pageContext.setAttribute("n4", "40");
%>
${ n1 + n2 + n3 }
<h3>EL执行逻辑运算</h3>
${ n1 < n2 } - ${ n1 lt n2 } <!-- less than --><br/>
gt - >; le - <=; ge - >=; eq - ==;
<h3>EL执行关系运算</h3>
${ n1<n2 && n3 < n4 } - ${ n1<n2 and n3 < n4 }<br/>
<h3>EL执行三元运算</h3>
${ n1 < n2 ? "正确":"错误" }
<h3>empty运算</h3>
${ user == null } - ${ empty user }
【EL操作WEB开发的常用对象11个】
<!--
pageScope,requestScope,sessionScope,applicationScope - 获取JSP中域中的数据
        param,paramValues         - 接收参数.
        header,headerValues - 获取请求头信息
        initParam                        - 获取全局初始化参数
cookie                                - WEB开发中cookie
        pageContext                        - WEB开发中的pageContext.
-->
<h3>接收请求的参数</h3>
<%= request.getParameter("id") %>
<%= request.getParameter("name") %>
<%= Arrays.toString(request.getParameterValues("hobby")) %>
<hr/>
${ param.id }
${ param.name }
${ paramValues.hobby[0] }
${ paramValues.hobby[1] }
<h3>获取请求头</h3>
<%= request.getHeader("User-Agent") %>
<hr/>
${ header["User-Agent"] }
<h3>获取全局初始化参数</h3>
${ initParam.username }
<h3>获取Cookie中的值</h3>
${ cookie.history.value }
<h3>获取PageContext中的对象</h3>
IP地址:${ pageContext.request.remoteAddr }
工程路径:${ pageContext.request.contextPath }
JSTL
【JSTL的概述】
JSP的标准标签库。(是一个不断完善的开放源代码的JSP标签库)
Ø 作用:JSTL和EL结合替换页面中的<%%>
Ø 版本:
* JSTL1.0                        :不支持EL表达式.
* JSTL1.1 和 1.2                :支持EL表达式.
Ø JSTL的标签库:包含了五类标签.
* core(核心标签),fmt(国际化标签),xml(XML标签),sql(SQL标签),fn(JSTL提供EL函数库)
Ø 使用JSTL:
* 引入JSTL的相关的jar包.
* 在页面中引入标签库.<%@ taglib uri=”” prefix=””%>
【JSTL的核心标签的用法】
* if:
属性:test=“”|没有else,从条件着手解决else
* forEach:(主要用来遍历)
<c:forEach var="i" item="${arrs }">
        ${i }
</c:forEach>
var:名字随便取  items:取出待遍历的对象  step:步进(隔几个写数)
varStatus(记录遍历状态的变量):属性1:index(有下标的内容数据)
属性2:count(个数)
【JSTL的提供EL的函数库
<h1>JSTL提供的EL的函数库</h1>
${ fn:contains("Hello World","Hello") }
${ fn:length("HelloWorld") }
${ fn:toLowerCase("ABCDE") }
<c:forEach var="i" items='${ fn:split("a-b-c-d","-") }'>
        ${ i }
</c:forEach>
MVC
JSP+Servlet+JavaBean合称MVC的设计模式
MVC:
M:Model:模型层      JavaBean
V:View:视图层       JSP
C:Controller:控制层Servlet

0 个回复

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