java学习之EL和JSTL

EL和JSTL都是JSP的内容的拓展,都是开发的一些东西,稍微学习记录一下,避免以后忘记

概念:Expression language 表达式语言
作用:替换和简化JSP页面中的java代码编写
语法:({} 设置忽略EL语法 (1):在page中实现isELIgnored=”true”忽略当前所有页面的el表达式 (2):/){}忽略当前这个el表达式

1.运算:基础的+-*/(加减乘(div)除)都可以实现
还有基础的逻辑运算&&(and )||(or)
比较运算符

<%@ page contenttype="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<% request.setattribute("name","zhangsan" ); session.setattribute("name","wangwu"); %>
${requestScope.name}
${sessionScope.name}
</%></body>
</html></%@>
<%@ page contenttype="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<% elcontent.user user="new" elcontent.user(); user.setname("zhangsan"); user.setage(12); user.setbirthday(new date()); request.setattribute("zhangsan",user); %>
${requestScope.zhangsan.name}
${requestScope.zhangsan.getbitStr()}
</%></body>
</html>
</%@>

3.获取list

&#x83B7;&#x53D6;&#x5BF9;&#x8C61;&#x3001;List&#x96C6;&#x5408;&#x3001;Map&#x96C6;&#x5408;&#x7684;&#x503C;

1. &#x5BF9;&#x8C61;&#xFF1A;${&#x57DF;&#x540D;&#x79F0;.&#x952E;&#x540D;.&#x5C5E;&#x6027;&#x540D;}
&#x672C;&#x8D28;&#x4E0A;&#x4F1A;&#x53BB;&#x8C03;&#x7528;&#x5BF9;&#x8C61;&#x7684;getter&#x65B9;&#x6CD5;

2. List&#x96C6;&#x5408;&#xFF1A;${&#x57DF;&#x540D;&#x79F0;.&#x952E;&#x540D;[&#x7D22;&#x5F15;]}

3. Map&#x96C6;&#x5408;&#xFF1A;

${&#x57DF;&#x540D;&#x79F0;.&#x952E;&#x540D;.key&#x540D;&#x79F0;}

${&#x57DF;&#x540D;&#x79F0;.&#x952E;&#x540D;["key&#x540D;&#x79F0;"]}

1.概念:JavaServer Pages tag LiBRARY JSP标准标签库
由Apache组织提供的开源的免费的jsp标签
2.作用简化和替换JSP上面的java代码
3.使用步骤
(1)导入相关jar包
(2)引入标签库

1.if &#x6807;&#x7B7E; &#xFF0C;test &#x5FC5;&#x987B;&#x5C5E;&#x6027;&#xFF0C;&#x63A5;&#x53D7;boolean&#x8868;&#x8FBE;&#x5F0F;

2. choose:&#x76F8;&#x5F53;&#x4E8E;java&#x4EE3;&#x7801;&#x7684;switch&#x8BED;&#x53E5;
    1. &#x4F7F;&#x7528;choose&#x6807;&#x7B7E;&#x58F0;&#x660E;               &#x76F8;&#x5F53;&#x4E8E;switch&#x58F0;&#x660E;
        2. &#x4F7F;&#x7528;when&#x6807;&#x7B7E;&#x505A;&#x5224;&#x65AD;                 &#x76F8;&#x5F53;&#x4E8E;case
        3. &#x4F7F;&#x7528;otherwise&#x6807;&#x7B7E;&#x505A;&#x5176;&#x4ED6;&#x60C5;&#x51B5;&#x7684;&#x58F0;&#x660E;        &#x76F8;&#x5F53;&#x4E8E;default

3. foreach:&#x76F8;&#x5F53;&#x4E8E;java&#x4EE3;&#x7801;&#x7684;for&#x8BED;&#x53E5;

中间遇到一个方法:一直报错期间发现了一个问题:attribute[test]不接受任何表达式
这是因为版本不兼容的问题

web.xml&#x4E2D;&#x7248;&#x672C;&#x53F7;&#x4E0D;&#x517C;&#x5BB9;&#x4EA7;&#x751F;&#x7684;&#x95EE;&#x9898;&#xFF1B;
&#x89E3;&#x51B3;&#x65B9;&#x6CD5;&#xFF1A;
<%@taglib prefix="&#x201C;c&#x201D;" uri="&#x201C;http://java.sun.com/jstl/core&#x201D;" %>&#x6539;&#x4E3A;
<%@taglib prefix="&#x201C;c&#x201D;" uri="&#x201C;http://java.sun.com/jstl/core_rt&#x201D;" %>

</%@taglib></%@taglib>

看一下demo和基础用法,

<%@ page contenttype="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>

<html>
<head>
    <title>Title</title>

</head>

<body>
<% request.setattribute("number",5); %>

<c:if test="true"><h1>&#x6211;&#x662F;&#x771F;</h1></c:if>
<c:if test="${number % 2 !=0}">
    ${number}&#x4E3A;&#x57FA;&#x6570;
</c:if>
<c:choose>
    <c:when test="${number==1}">&#x661F;&#x671F;&#x4E00;</c:when>
    <c:when test="${number==2}">&#x661F;&#x671F;&#x4E8C;</c:when>
    <c:when test="${number==3}">&#x661F;&#x671F;&#x4E09;</c:when>
    <c:when test="${number==4}">&#x661F;&#x671F;&#x56DB;</c:when>
    <c:when test="${number==5}">&#x661F;&#x671F;&#x4E94;</c:when>
</c:choose>
<c:foreach begin="1" end="10" var="i" step="1" varstatus="s">
    <h3>begin &#x5F00;&#x59CB;&#x503C;</h3>
    <h3>end &#x7ED3;&#x675F;&#x503C;</h3>
    <h3>var &#x4E34;&#x65F6;&#x53D8;&#x91CF;</h3>
    <h3>step &#x6B65;&#x957F;</h3>
    <h3>varStatus:
        index:&#x5143;&#x7D20;&#x7684;&#x7D22;&#x5F15;
        count=&#x5FAA;&#x73AF;&#x7684;&#x6B21;&#x6570;&#x4ECE;1&#x5F00;&#x59CB;
    </h3>
    ${i}<br>${s.count}
</c:foreach>

</%></body>
</html>
</%@taglib></%@>

本篇学习文章还是比较短,内容比较少主要要记住的是后面EL和JSTL的连用达到简化JSP中java代码,让后面更好操作

Original: https://www.cnblogs.com/0x3e-time/p/16303714.html
Author: 不成大哥不改名
Title: java学习之EL和JSTL

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/643122/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球