EL表达式

来源:互联网 发布:我的世界多核优化 编辑:程序博客网 时间:2024/06/07 20:51

Servlet和Jsp模式

Servlet技术:开发动态资源,是一个Java类,最擅长写Java代码Jsp技术:也是开发动态资源,通过Java代码最擅长输出html代码

Servlet负责的内容:

  • 接收参数处
  • 理业务逻辑
  • 把结果保存到域对象中
  • 跳转到jsp页面

JSP负责的任务:

  • 从域对象取出数据
  • 把数据显示到浏览器

总结:我们在开发中,Jsp页面尽量少写甚至不写Java代码,所以我们使用EL表达式替换掉jsp表达式。EL表达式的主要作用是向浏览器输出域对象的变量值或表达式计算的结果。

EL语法

  1. 输出基本数据类型变量:${name}(从四个域中获取)
  2. 指定域获取${pageScope.name} pageScoep,requestScope,sessionScope,applicationScope

Jsp标签

Jsp标签的作用

替换jsp脚本

JSTL标签

JSTL (全名:java standard tag libarary - java标准标签库 )

  • 核心标签库 (c标签库) 天天用
  • 国际化标签(fmt标签库)
  • EL函数库(fn函数库)
  • xml标签库(x标签库)
  • sql标签库(sql标签库)

核心标签库的重点标签

<%@ page language="java" import="java.util.*,com.lyjs.bean.*" pageEncoding="UTF-8"%><%-- 导入标签库 --%><%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <title>核心标签库</title>  </head>  <body>    <%        Map map=new HashMap<String,Student>();        ArrayList list=new ArrayList<Student>();        Student student1=new Student("Tom","123456");        Student student2=new Student("Tom","123456");        Student student3=new Student("Tom","123456");        Student student4=new Student("Tom","123456");        map.put("001", student1);        map.put("002", student2);        map.put("003", student3);        map.put("004", student4);        list.add(student1);        list.add(student2);        list.add(student3);        list.add(student4);        //域对象中存取数据        pageContext.setAttribute("listStudents", list);        pageContext.setAttribute("mapStudents", map);     %>     <%--set标签:保存数据(保存到域中)默认保存到page域 --%>     <c:set var="score" value="55"></c:set><br/>     <%--out标签:获取数据(从域中),当value值为null,使用默认值          escapeXml:是否对value值进行转义,false不转义,true,转义(默认)     --%>     <c:out value="成绩为:${score }"  default="默认值" escapeXml="true"></c:out><br/>     <%--if标签,但条件判断 --%>     <c:if test="${score>60 }">        成绩大于60     </c:if><br/>     <%--choose标签+when 标签+otherwrise标签 --%>     <c:choose>        <c:when test="${score>=90 && score<100 }">            优秀        </c:when>        <c:when test="${score>=80 && score<90 }">            良好        </c:when>        <c:when test="${score>=60 && score<80 }">            良好        </c:when>        <c:otherwise>            不及格        </c:otherwise>     <%--forEarch:循环遍历         begin="" :从哪个元素开始,默认从0开始        end=""   :到哪个元素结束,默认到最后一个元素        step="1"  :步长(每次加几个):默认为1        items=""  :需要遍历的数据集合        var=""   :每个元素名称        varStatus="" :当前正在遍历元素的状态对象(count属性:当前位置,从1开始)     --%>     <br>     <c:forEach  step="1"  items="${listStudents}" var="student" varStatus="varSta">   序号:${varSta.count }  -姓名: ${student.username } - 密码:${student.password }<br/>     </c:forEach>     <%-- 遍历map集合 --%>     <c:forEach var="entry" items="${ mapStudents}">         序号:${entry.key } 姓名:${entry.value.username } 密码:${entry.value.password }<br/>     </c:forEach>     <%--forToken标签:循环特殊字符串 --%>     <%        String str="php-java-net";        pageContext.setAttribute("str", str);     %>     <c:forTokens items="${str }" delims="-" var="s">        ${s }<br/>     </c:forTokens>     <%--redirect:重定向 --%>     <c:redirect url="http://www.baidu.com"></c:redirect>  </body></html>
0 0
原创粉丝点击