servlet实操之jsp标签、jstl标签,el标签

JSP标签、JSTL标签、EL表达式

导包

<!--        JSTL表达式依赖-->
        <dependency>
            <groupId>javax.servlet.jsp.jstl</groupId>
            <artifactId>jstl-api</artifactId>
            <version>1.2</version>
        </dependency>
<!--        standard标签库-->
        <dependency>
            <groupId>taglibs</groupId>
            <artifactId>standard</artifactId>
            <version>1.1.2</version>
        </dependency>

EL表达式:${}

  • 获取数据

  • 执行运算

  • 获取web开发的常用对象

jsp标签

XML 标签<%--<jsp:include page="jsp4.jsp"></jsp:include>--%>
<jsp:forward page="jsp4.jsp">
    <jsp:param name="name" value="shi"/>
    <jsp:param name="age" value="25"/>
</jsp:forward>

JSTL表达式

JSTL标签库是为了弥补HTML的不足,它有许多的自定义标签,可以供我们使用;标签的功能和java代码一样;

核心标签(掌握部分即可)

<%@taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core" %>

image

JSTL标签库使用步骤

  • 引入对应的taglib

  • 使用其中的方法(在tomcat中也要引入JSTL包)

    <body>
    
    <%--if测试--%>
    <form action="jstl01.jsp" method="get">
    <%--    el表达式获取表单中的数据--%>
        <input type="text" name="username" value="${param.username}">
        <input type="submit" value="提交">
    </form>
    <%--Java方式--%>
    <%
        if (request.getParameter("username").equals("3")){
            out.println("3 is true");
        }else {
            out.println("3 is false");
        }
    %>
    <hr>
    <%--jstl方式--%>
    <c:if test="${param.username == '2'}" var="is2" scope="page">
        <c:out value="2欢迎你"></c:out>
    </c:if>
    <c:out value="is2是${is2}"></c:out>
    
    
    
    <c:if test="${param.username == '1'}" var="is1" scope="page">
    <%--<jsp:include page="jsp4.jsp"></jsp:include>--%>
    <jsp:forward page="jsp4.jsp">
        <jsp:param name="name" value="shi"/>
        <jsp:param name="age" value="25"/>
    </jsp:forward>
    </c:if>
    <%--保存值--%>
    <hr>
    <c:set var="num" value="${param.username}"></c:set>
    <%--选择结构--%>
    <c:choose>
        <c:when test="${num == 4}">
            4 is true
        </c:when>
    </c:choose>
    <hr>
    <%--循环--%>
    <%
        ArrayList<String> pps = new ArrayList<>();
        pps.add(0,"张三");
        pps.add(1,"李四");
        pps.add(2,"王五");
        request.setAttribute("pp",pps);
    
    %>
    <c:forEach var="p" items="${pp}">
        <br>
        <c:out value="${p}"></c:out>
    </c:forEach>
    <%--练一练  jstl --%>
    <%
        ArrayList<Integer> nums = new ArrayList<>();
        Random random = new Random();
        for (int i = 0; i < 10; i++) {
            nums.add(i, random.nextInt(100));
        }
        request.setAttribute("nums",nums);
    %>
    <hr>
    <c:out value="直接输出${nums.toString()}"></c:out>
    <hr>循环输出
    <c:forEach begin="0" end="${nums.size()-1}" step="1" var="n" items="${nums}">
        <c:out value="${n}"></c:out>
    </c:forEach>
    
    </body>
    

格式化标签

SQL标签

XML 标签

posted @   Takiyo  阅读(60)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示