【java学习之旅】——JSTL+EL表达式让jsp页面简洁化

【前言】

jsp2.0之后,页面上几乎不使用Java脚本了,其实不难理解,因为在计算机中程序分工越来越明确,三层,mvc的使用都是程序划分层次结构的产物,jsp只能用做页面的显示,所以JSTL标签库和EL表达式应运而生,他们的作用没有<%%>强大,但正是规范使用jstl和el表达式才限制了不能jsp页面不能参与逻辑运算,单一的做页面的显示。

【内容】

表达式语言EL:


1.使用EL表达式不需要引入任何jar包,只要jsp/servlet容器实现了J2EE1.4/Servlet2.4,JSP2.0规范就可以。语法:${};
2.基本使用:
servlet中设置:

/**
 * 测试JSTL的el标签库
 * @author cyl520
 *
 */

public class JstlServlet extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
       request.setAttribute("hello", "北京欢迎你!");
       request.setAttribute("welcome","<font color='red'>欢迎您来到这个世界</font>);
        request.setAttribute("v1",10);
         request.setAttribute("v2",20);
       request.getRequestDispatcher("/jstl_el.jsp").forward(request, response);
    }

}


jstl_el.jsp的获取方式:

一.常规方式
 <%=request.getParameter("username")%>
二. el表达式:

  1.获取值的方式:${username};
               ${welcome}_只能获取红色字体(欢迎您来到这个世界)
  2.设置从指定的范围内获取值:${requestScope.hello}
  3.没有值会自动设置为空的字符串:${sessionScope.hello}

JSTL:

  1. 它是SUN的标准的taglib库, 全称是(Jsp Standard Tag Library),它封装了jsp应用的通用核心功能,标签库中隐含了el表达式。
  2. 作用:
    ①.迭代和条件判断
    ②.数据管理格式化
    ③.xml操作
    ④.数据库访问(一般不使用,因为页面只做显示)
    ⑤.函数标签库
  3. JSTL的标签库分为了五种类型:

    核心标签(c):最常用的标签库

    格式化标签(fmt):STL格式化标签用来格式化并输出文本、日期、时间、数字。

    sql标签(sql):JSTL SQL标签库提供了与关系型数据库(Oracle,MySQL,SQL Server等等)进行交互的标签;

    xml标签(x):JSTL XML标签库提供了创建和操作XML文档的标签;需要将xml和xpath的相关包拷贝到你的tomcat安装的目录\lib下;

    JSTL函数(fn):JSTL包含一系列标准函数,大部分是通用的字符串处理函数

  4. 基本配置使用:
    在jsp页面上引入核心标签库:
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>   <!--核心标签库>

1.在页面上显示数据:<c:out value="123"/>
2.通过内置的el表达式获取request中的值:<c:out value="${hello}"/>
3.在jstl标签中没有值可以随意设定值:<c:out value="${hello123} "defalut="没有值">
4.设置html字符串样式出现与否(escapeXML):<c:out value="${welcom3}" escapeXML="false"></c:out>  ——出现红色字体的样式
<c:out value="${welcome}" escapeXML="true"></c:out> ——取消红色字体的样式;
5.采用c:set设置值  <c:set value="root" var="userid"/>
userid:${userid}
6.简单if判断 <c:if test="${v1 lt v2}">v1小于v2</c:if>
。。。。。。。。。。。。。。。。。。。。。。。。。

【总结】
单纯的使用el表达式,只能进行相应的数据的显示,并不能对页面的数值设置,并且进行简单的if判断;但是JSTL标签库+EL表达式扩展了el表达式功能,使jsp页面显示更加简洁!

评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值