EL使用表达式(5一个 问题)

JSTL使用标签(5问题)

什么是EL。它可以用做?

EL全名Expression Language在JSP使用页面

格公式${表达式}

样例${requestScope.customer.id}

功能:

1.才四个域对象中取出属性数据显示





(pageContext.request.session.application)





2.取出请求參数数据显示





<%

request.setAttribute("person",new Person("xfzhanag",18));

%>

Map<String,Person> map=new HashMap<String,Person>();

map.put("A",new Person("AA",12));

map.put(""B",new Person("BB",13));

map.B.age${requestScope.B.age};

map.B.age${requestScope.['B'].age};





${requestScope.person.name};

${requestScope.person['name']};

List里面的第二个数据

<%





<%

List list=new ArrayList();

list.add("a");

list.add("b");

list.add("c");

request.setAttribute("List",list);





%>





${requestScope.List[1]};

${requestScope.List['name']};





我的年龄:<requestScope.person.name><br/>

//什么方便?为什么有个中括号?

/*

一种情况?

${requestScope['my person'].name};

map.put("my person",new Person("Xxx",12));





*/

EL能进行的运算?

算数运算(+,-, * ,/ ,%)

关系运算(>,<,==,!=)

逻辑运算(&&,||)

empty运算(推断一个数据是否是空)

(null,空字符串,空集合)





${empty name}<br>

${empty list}<br>

${empty person}<br>





三目条件运算

${requestScope.person.age>18 ? '成年' : '未成年' }

${person.age>18 ? '成年' : '未成年' }

<!--不加隐含对象。如何找到的呢?

pageScope,requestScope,

sessionScope,applicationScope

从小到大的一个范围!

-->

<%

request.setAttribute("list",new ArrayList());

request.setAttribute("name","");

request.setAttribute("person","new Pseron("Xxx",19));

%>

隐含对象

PageContext javax.servlet.ServletContext

PageScope java.uti.Map

RequestScope java.util.Map

sessionScope java.util.Map

applicationScope java.util.Map

param java.util.Map

EL怎样获取对象的内部数据?

获取的方式

通过点(.)来取数据

通过中括号[]来取数据

对象的类型

一般对象

Map对象

数组/List/Set

EL的不足在哪?

不能遍历。逻辑推断差

JSTL(5个问题)

什么是JSTL,它能做什么?

JSTL为jsp stardard tag library在jsp页面使用

功能:实现数据基本输入输出,流程控制,循环,国际化等功能

JSTL  前置名称
              URI 范例

核心标签库     c http://sun.com/jsp/jstl/core
c:out

I18格式标签库 fmt http://sun.com/jsp/jstl/xml






fmt:formDate

SQL标签库     sql http://sun.com/jsp/jstl/sql
sql:query

xml标签库     xml http://sun.com/jsp/jstl/fmt
x:forBach

函数标签库     fn http://sun.com/jsp/jstl/function
fn:split

为什么使用JSTL?

在jsp中使用jsp脚本+jsp表达式也能够做循环输出,太麻烦

EL不能做遍历工作

JSTL能做这些并且与jsp和html的标签能够非常好的结合

JSTL高速入门

1.导入JSTL相关的jar包:

jstl.jar

standard.jar





2.在jsp文件里导入JSTL的c标签库

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" perfix="c" 





%>





3

<%

List<String> list=new ArrayList<String>();

list.add("A");

list.add("B");

list.add("C");

request.setAttribute("list",list);





%>

<c:forEach items="${requestScope.list}" var="item">

${item}<br/>

</c:forEach>





jstl怎样做流程控制?

c:if(一重条件推断)

c:choose 

c:when





//需求1:假设我的年龄小于18就输出未成年成(红色字体)

<c:if test="${person.age<18}">

<font color="red">未成年人</font>

</c:if>





需求2:假设年龄大于60,就输出’老头子‘

假设年龄小于18,就输出"小屁孩"

其它。就输出"成年人"

<br/>

<c:choose>

<c:when test="${person.age>60}">老头子





</c:when>

<c:when test="${person.age<18}">小屁孩





</c:when>

<c:otherwise>成年人</c:otherwise>

</c:choose>

jstl怎样做遍历?

<%

Map<String,Person> map=new 





HashMap<String,Person>();

map.put("1",new Person("AA",23));

map.put("2",new Person("BB",23));

map.put("3",new Person("CC",23));

map.put("4",new Person("DD",23));

map.put("5",new Person("EE",23));

map.put("6",new Person("FF",23));

request.setAttribute("personMap",map);

%>

<h3>将数据用表格显示出来</h3>

<table border="1" style="width:300px">

<tr>

<td>ID</td>

<td>姓名</td>

<td>年龄</td>

</tr>

<c:forEach items="${personMap}" var="item">

<!--${itm.class}-->

<tr>

<td>${item.key}</td>

<td>${item.value.name}</td>

<td>${item.value.age}</td>

</tr>

</table>

版权声明:本文博客原创文章,博客,未经同意,不得转载。

EL与JSTL注意事项汇总的更多相关文章

  1. ARCGIS 10.1 发布服务问题以及注意事项汇总

    本文会逐渐丰富,并在遇到问题后进行整理进来. 一.了解ArcGIS Server以及如何利用ArcServer发布服务 官方中文帮助文档:http://resources.arcgis.com/zh- ...

  2. jsp与El,jstl知识点总结归纳

    jsp与El,jstl知识点总结归纳 jsp部分 一.jsp的三大指令 page ,include,taglib 1.jsp中的page指令 <% page %>-设置jsp 例如: &l ...

  3. JSP内置标签 JSP中JavaBean标签 JSP开发模式 EL和JSTL快速入门

    2 JSP内置标签(美化+业务逻辑)   1)为了取代<%%>脚本形式,使用JSP标签/JSP动作,目的:与JSP页面的美化,即JSP面页都是由标签组成,不再有其它的内容   2)JSP内 ...

  4. 在idea的maven项目使用el或jstl表达式

    必须加上这句: <%@ page isELIgnored="false" %> 否则无法解析el或jstl表达式 <%@ taglib prefix=" ...

  5. 第75节:Java的中的JSP,EL和JSTL

    第75节:Java中的JSP,EL和JSTL 哭吧看不完的!!! Cookie和`Session 请求转发和重定向的区别: 地址不一样 请求次数也不一样 数据无法传递 4.跳转范围有限制 效率 请求转 ...

  6. JSP、EL、JSTL

    JSP(Java Server Pages) 什么是JSP Java Server Pages(Java服务器端的页面) 使用JSP:SP = HTML + Java代码 + JSP自身的东西.执行J ...

  7. jsp中的EL和JSTL的关系

    对于JSTL和EL之间的关系,这个问题对于初学JSP的朋友来说,估计是个问题,下面来详细介绍一下JSTL和EL表达式他们之间的关系,以及JSTL和EL一些相关概念! EL相关概念 JSTL一般要配合E ...

  8. Jsp应用EL和JSTL实例对比。

    普通方式: register.jsp <%@ page language="java" import="java.util.*" pageEncoding ...

  9. EL 和 JSTL

    EL 什么是EL表达式 EL(Express Lanuage) 表达式可以嵌入在jsp页面内部 减少jsp脚本的编写 EL出现的目的是要替代jsp页面中脚本的编写 作用区间 EL最主要的作用是获取四大 ...

随机推荐

  1. POJ 2365 Rope(水题)

    [题意简述]:给出我们钉子个数与半径,让我们求出缠绕在钉子上的绳子有多长. [分析]:从题目中我们能够看出,绳子长度的和等于每两个钉子的距离的和加上接触在钉子上的绳子的长度,不难发现这部分长度事实上就 ...

  2. I2C分析三

    1 引言 IIC (Inter-Integrated Circuit1总线是一种由Philips公司开发的2线式串行总线,用于连接微控制器及其外围设备.它是同步通信的一种特殊形式,具有接口线少.控制方 ...

  3. 面对多个互斥量的加锁策略:"试加锁-回退"算法/固定加锁层次

    有时一个互斥量是不够的: 比如: 当多个线程同时访问一个队列结构时,你需要2个互斥量,一个用来保护队列头,一个用来保护队列元素内的数据. 当为多线程建立一个树结构时,你可能需要为每个节点设置一个互斥量 ...

  4. HDU2037 今年暑假不AC 【贪心】

    今年暑假不AC Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  5. Android JNI 获取应用程序签名

    使用Android JNI 获取应用程序签名. 获取基础上生成自己的签名password,这可以防止别人反编译找到自己的源代码password. jstring Java_com_masonsdk_j ...

  6. OpenStack及其构成简介1

    第一部分 OpenStack及其构成简介 一.云计算   云计算是一种计算模型,它将诸如运算能力.存储.网络和软件等资源抽象成为服务,以便让用户通过互联网远程享用,付费的形式也如同传统公共服务设施一样 ...

  7. Error与Exception的区别

    错误和异常的区别(Error vs Exception) 错误和异常的区别(Error vs Exception) 今天面试问了这样一个问题,"Error" 和 "Exc ...

  8. 在Xshell中上传下载文件到本地(linux中从多次ssh登录的dbserver里面的文件夹)

    在Xshell中上传下载文件到本地(linux中从多次ssh登录的dbserver里面的文件夹) 1 列出所有需要copy的sh文件 -bash-4.1$ ll /mysqllog/osw/*.sh ...

  9. qt的资源替换搜索QDir具体解释

    QDir对跨平台的文件夹操作提供了非常多的便利,为了更加方便的提供全局资源的查找,QDir提供了搜索路径替换功能,攻克了资源搜索不便的问题,也能提高文件查找的效率. QDir通过已知的路径前缀去搜索并 ...

  10. SOHO路由器的静态路由的不同

    网络拓扑如下,其中RA与RB皆为TP-LINK家用路由器 最终在TP-LINK官网的官网上找到这么一段话 静态路由是在路由器中手工设置的固定的路由条目.我司路由器静态路由是基于ICMP重定向原理,与其 ...