javaweb part6---jstl以及el表达式

jstl / Java标准标签库/和EL表达式配合使用
在JSP中取代 Java代码

el表达式运算符号
gt >
lt <
ge >=
le <=
eq ==
ne !=
and &&
or ||
not !
xx.xxx xx["xxx"]
xx?xxx:xxx;

标签库 建议前缀
core/c
xml/x(不在jsp中处理xml文件)
fmt/fmt
sql/sql(不在jsp中操作数据库)
functions/fn

<前缀:标签名 属性名=属性值 属性名=属性值>
核心标签库
<c:out >输出
value 支持el表达式 用来指定输出内容
escapeXml 支持el 默认为true 对特殊符号进行转义的
default 当value为null时,输出default的值;

<c:set>将数据存放到web域中,或者其他的集合之中;
value 支持el. Object
var 不支持el String 指定变量名
scope 不支持el String 指定范围page/request.session.application
target 支持el Object target 和paroperty搭配使用
property 支持el String
<c:set scope="request" var="name" value="rupeng" ></c:set>
scope 和var 搭配使用 request 代表web域范围var代表变量名
通过${requestScope.name}来拿到 value 的值rupeng/
<%Person p1=new Person();
p1.setName("yqw");
request.setAttribute("person", p1);

Person p=new Person();
session.setAttribute("person", p);//将属性名为person的对象P放入request%>
<!-- target 就相当于用findAttribute()依次去四个域中找属性为person的对象.找到既返回-->
<!-- 而对象是Person p.可以设置他的属性property name. 而后取出来 .-->
<c:set target="${sessionScope.person}" property="name" value="jerry" ></c:set>
${person.name}<br/>${sessionScope.person.name}<br/>

<c:remove var="name" scope="request">
删除request这个范围里面,属性名为name的值.

catch 标签
把可能发生异常的代码用<c:catch var="exception"></c:catch>包裹起来
然后调用<c:out ${pageScope.exception}/>输出异常对象 这个对象有三个属性
getMessage/异常信息 getCause/异常原因 getStackTrace/异常的调用数

if 核心标签
test 支持el表达式 Boolean //条件表达式 这个是if标签必须有的.
var 不支持el String 可以声明一个变量接受test的结果
scope 不支持el String 默认存入范围是page、可以指定web域

<c:if test="${age eg 18}" var="rs">
大家都是成年人.
</c:if>
<c:out value="${rs}"/>
这里test为条件表达式 var 表示这个条件表达式的结果
test="empty name" 则代表判断name所指向的对象的属性是否为空.

<c:forEach items="${persons}" var="p">
${p} 就可以输出每一个 persons里面的对象;
</c:forEach>

多个条件表达式
<c:choose>
<c:when test="条件表达式1">
执行代码块
</c:when >
<c:when test-"条件表达式2">
执行代码块
</c:when>
</c:choose> when可以有多个表达式,<c:otherwise>可选

<c:redirect url="/" />

<a href="<c:url value=‘/index.jsp‘>
<c:param name=‘name‘ value=‘999‘></c:param>
<c:param name=‘id‘ value=‘10‘></c:param></c:url>" >超链接</a>

jstl时,注意调用对象的.name 属性时,name的值与对象的私有变量是没有关系的.由get /set方法来决定.

时间: 2024-12-24 03:09:03

javaweb part6---jstl以及el表达式的相关文章

【转】JSP中的JSTL与EL表达式用法及区别

对于JSTL和EL之间的关系,这个问题对于初学JSP的朋友来说,估计是个问题,下面来详细介绍一下JSTL和EL表达式他们之间的关系,以及JSTL和EL一些相关概念! EL相关概念JSTL一般要配合EL表达式一起使用,来实现在jsp中不出现java代码段.所以我们先来学习EL表达式 EL主要用于查找作用域中的数据,然后对它们执行简单操作:它不是编程语言,甚至不是脚本编制语言.通常与 JSTL 标记一起作用,能用简单而又方便的符号来表示复杂的行为. EL基本格式 EL表达式的格式:用美元符号($)定

Java之旅(三)--- JSTL和EL表达式

 先给大家看一段JSP的代码,看看有什么感受? <% List<UsEL> usELList = pageModel.getList(); for (ItELator<UsEL> itEL=usELList.itELator(); itEL.hasNext();) { UsEL usEL = itEL.next(); %> <tr> <td class="rd8"> <input type="checkbo

jstl,el表达式

在上一篇中,我们写了将数据传到jsp页面,在jsp页面进行展示数组,但是我们发现,在jsp页面写代码是一件很烦的事,一个循环要拆成两部分,例如for循环,在例如if语句: <%int a=22;%> <%if(a>20){%> hello world <%}else{%> world hello <%}%> 这是很烦很痛苦的的 一件事,那么怎么解决这个问题呢,这里用到了jstl技术: 再写jstl技术之前,我们先简单了解一下el表达式,el表达式要和j

Javaweb学习笔记6—EL表达式与JSTL及自定义标签

 前几天博客被黑了,导致博客登陆不上,把前几天应该发的东西的东西重新发一遍 今天来讲javaweb的第六阶段学习. EL表达式与JSTL及自定义标签是对上篇文章介绍的JSP的扩展,不能说是很重要的东西,但是也要了解. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps:我的思维是用的xMind画的,如果你对我的思维导图感兴趣并且想看到你们跟详细的备注信息,请点击下载 另外:如果图看不清的话请右击---在新窗口中打开会清楚很多. 一.EL表达式 1,EL简介 Expression Lan

jsp中的JSTL与EL表达式用法

JSTL (JSP Standard Tag Library ,JSP标准标签库) JSTL标签库分为5类:JSTL核心标签库.JSTL函数标签库.数据库标签库.I18N格式化标签库.XML标签库. JSTL的核心标签库主要包括:表达式操作.流程控制.迭代操作和URL操作.以下是JSTL常用标签的用法总结: 一.表达式操作 1.<c:out> 作用:用于显示数据的内容.语法1:没有本体内容 <c:out value="value" [escapeXml="{

javaweb回顾第九篇EL表达式

前言:关于EL表示式开发用的非常多,现在我们回顾一下关于如果去操作EL表达式 1:EL表达式语法 所有EL表达式都是由{开始}结束,表达式中用.和[]操作符来访问数据比喻${user.userName}.${user["userName"]}是等效的. 2:几个重要的操作符 算术,逻辑,关系操作符和我们java语法操作的一样. 2.1:Empty操作符 Empty操作是判断一个值是否为null或者"",写法如${!empty user} 2.2:三目运算符 EL表达

jstl和EL表达式混合使用

EL表达式里判断字符串,或者... ${(wrt.acceptName eq '刘立荣') || (wrt.acceptName eq '卢伟冰') } <tr> <td height="24" width="70" align="left" >董事长:</td> <c:forEach items="${wfRdTasks }" var="wrt" varStatu

在JSP中如何使用JSTL(EL表达式)格式化日期

第1步:引入指令 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt " %> 第2步:使用 <1>日期 <fmt:formatDate value="${ user.lastConnectTime }"  type="both" /> 2015-12-11 15:43:59 <fmt:formatDate val

JSTL中EL表达式无法直接取size的处理

jsp中使用${list.size }会编译成list.getSize()方法,并不能获取list的长度,因为程序回去找List对象中的getSize()方法,所以只能想别的办法, 一种方法是在后台程序Action中声明一个变量存储list的长度,并对这个变量设置get set方法,但是这个方法有点麻烦,还多了一个变量,另外一种方法可以使用jstl中的functions函数实现,具体步骤如下: 1.引入jstl和jstl函数包 <%@ taglib uri="http://java.sun

JSTL标签+EL表达式遍历List内容

经常用到以下代码遍历呈现后台返回来的List,特此Mark一下: JSP页面头部引用JSTL标签: <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> JSP内容: <c:if tes