JSP标签库核心标签和EL表达式的简单上手操作

JavaWeb学习大纲传送门

  • 文章设立的初衷:对于JSP核心标签和EL表达式不是很熟悉的小伙伴,可以跟着敲一遍,
  • 一方面,简单认识一下,核心标签和EL表达式,另一方面,方便快速上手
  • 目录:文件 --------------- 结果
  • jsp文件:
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="com.jazhong.model.Goods" %>
<%@ page import="java.util.Date" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false"%>
<!--引入标签库文件
prefix:指定前缀
uri:指定标签库文件
-->
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>测试</title>
</head>
<body>
<!--
out标签:用于计算并向页面输入内容
      value:要输出的内容,默认为字符串,可以使用EL表达式获取作用域的数据
      default:当value未取得数据时,输出default内的值
      escapeXml:是否对value中的html标签进行解析,默认为不解析
-->
<!--直接输出字符串-->
<c:out value="你好"></c:out>
<c:out value="10+20"></c:out>
<%
    request.setAttribute("name","<span style='color:red'>小明</span>");
%>
<c:out value="${name}" default="没有数据" escapeXml="flase"></c:out>
<hr>
<!--
向作用域中设置属性标签
该标签等于,setAttribute()
        var:属性名
        value:属性值
        scope:作用域,将属性存入到哪个作用域中
-->
<c:set var="username" value="admin" scope="session"></c:set>
<c:out value="${username}"></c:out>
<!--
    从作用域中移除属性
    var:指定属性名
    scope:指定从哪个作用域中移除
-->
<c:remove var="username" scope="session"></c:remove>
<c:out value="${username}" default="null"></c:out>
<%=session.getAttribute("username")%>
<!--
    if标签:单分支判断
    test:判断条件,当条件为true时执行标签体,为false时不执行
-->
<c:if test="${1<2}">congming</c:if>
<!--
    choose标签:等同于switch标签
    当when的条件成立时执行对应的标签体
    如果所有的when都不成立,则执行otherwise标签体
-->
<c:choose>
    <c:when test="${3<2}">
        xxx
    </c:when>
    <c:when test="${1<4}">
        vvv
    </c:when>
    <c:otherwise>
        6666
    </c:otherwise>
</c:choose>
<hr>
<%
    List<String> list=new ArrayList<>();;
    list.add("aaa");
    list.add("bbb");
    list.add("ccc");
    list.add("ddd");
    list.add("eee");
    request.setAttribute("list",list);
%>
<!--
    forEach标签等同于Java中的for循环增强
    items:要遍历的集合(从作用域中获取)
    var:将集合中的每个元素赋给var所指定的变量,在标签体中直接使用该变量
    varStatus:循环状态变量,可以通过该变量获得下标及循环统计
-->
<c:forEach items="${list}" var="str" varStatus="status">
    ${str}==>${status.count}==>${status.index}<br>
</c:forEach>
<c:forEach begin="0" end="10" step="1" varStatus="status">
    sss-->${status.count}--->${status.index}<br>
</c:forEach>
<%
    Goods goods=new Goods();
    goods.setG_id(10);
    goods.setG_name("手表");
    goods.setG_price(123.0);
    goods.setG_date(new Date());
    request.setAttribute("goods",goods);
%>
${requestScope.goods.g_name}
${requestScope.goods.say}
<hr>
${1+3}----4
<hr>
${"上海"}
<hr>
${'北京'}
<hr>
<!--
    EL表达式可以从任意作用域中获取数据
    EL表达式默认从作用域对象中从小到大自动搜索
    pageContext==>request==>session==>application
-->
<c:set var="date" value="new Date" scope="request"></c:set>
<c:set var="date" value="new D" scope="session"></c:set>
<c:set var="date" value="ne" scope="application"></c:set>
${date}

</body>
</html>
  • 结果:
    流程
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值