jstl+el表达式简化jsp界面

1.下载jstl.jar,引入jar

http://central.maven.org/maven2/javax/servlet/jsp/jstl/jstl/1.2/

2.jsp头部引入

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

3.实例

1)c:out标签

  <b>c:out标签等价</b>
  <%="c:out标签"%>
  <%
    out.println("c:out标签");
  %>
  <c:out value="c:out标签"/>

2)c:if标签

  <b>c:if标签等价</b>
  <%
    if (true){

    }
  %>
  <c:if test="${true}">
  </c:if>

3)c:choose、c:when、c:otherwise组合标签

 <%
    if (true){
      
    }else {
      
    }
  %>
  <c:choose>
    <c:when test="${true}"></c:when>
    <c:otherwise></c:otherwise>
  </c:choose>

4)c:forEach标签

  <b>c:forEach标签</b>
  <%
    for (User user : users) {
      
    }
  %>
  <c:forEach var="user" items="${users}" >
    ${user.name}
  </c:forEach>
@WebServlet("/jstl")
public class JSTLTest extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        List<String> lists = new ArrayList<>();
        lists.add("string1");
        lists.add("string2");
        lists.add("string3");
        lists.add("string4");
        lists.add("string5");
        request.setAttribute("lists",lists);
        //为什么这里用转发,不用重定向
        //因为重定向到jsp去request对象携带的数据失效
        request.getRequestDispatcher("jstl.jsp").forward(request,response);
    }
}
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2019/3/19/019
  Time: 10:48
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  <c:forEach items="${lists}" var="list">
    ${list}
  </c:forEach>
  </body>
</html>

相关资料请点

猜你喜欢

转载自blog.csdn.net/qq_42014192/article/details/88657753
今日推荐