Syntaxe et balises jsp couramment utilisées dans le backend

JPS

1.1. Qu'est-ce que JSP

jsp=pages du serveur Java : les pages du serveur Java sont une technologie Web dynamique

La plus grande fonctionnalité :

  • Écrire du jsp, c'est comme écrire du HTML

  • la différence:

    • HTML ne fournit que des données statiques aux utilisateurs
    • Le code Java peut être imbriqué dans les pages JSP pour fournir aux utilisateurs des données dynamiques
    • Les commentaires JSP sont invisibles lors de la visualisation du code source sur la page Web, mais les commentaires HTML sont visibles lors de la visualisation du code source sur la page Web !
  • Packages de dépendances requis

    <!--导入Servlet的依赖-->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>4.0.1</version>
            </dependency>
            <!--导入jsp的依赖-->
            <dependency>
                <groupId>javax.servlet.jsp</groupId>
                <artifactId>javax.servlet.jsp-api</artifactId>
                <version>2.3.3</version>
            </dependency>
            <!--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>
    

1.2. Syntaxe de base JSP

1.2.1.Expression JSP
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>测试</title>
</head>
<body>
Hello World
<%--我是jsp的注释--%>
<hr/>
<%--JSP表达式
作用:用来将程序的输出,输出到客户端
<%= 变量或者表达式%>
--%>
<%= new java.util.Date()%>
<hr/>

</body>
</html>

De nos jours, l'expression EL ${} est utilisée, et <%= %> est rarement utilisée !

1.2.2. Fragment de script JSP
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>测试</title>
</head>
<body>
Hello World
<br/>
<%--下面是jsp的脚本片段,里面可以填写java的代码!--%>
<%
out.print("ip地址为:"+request.getRemoteAddr());
%>
<%--我是jsp的注释--%>

</body>
</html>

1.2.3.Déclaration JSP

déclaration jsp <%!Contenu de la déclaration%> ; une instruction de déclaration peut déclarer une ou plusieurs variables et méthodes à utiliser par le code Java suivant

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>测试</title>
</head>
<body>
Hello World
<%--jsp声明--%>
<%!
    public void kuang(){
        System.out.println("进入了方法框");
    }
%>
<%
    kuang();
%>


</body>
</html>

1.2.4, commentaires jsp

<%–Je suis un commentaire jsp–%>. Le commentaire jsp ne sera pas affiché sur le client, mais le commentaire HTML répondra sur le client.

1.2.5, commande jsp
  • Personnaliser la page qui passe à 500 (méthode 1)
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%--跳转到自定义的500界面--%>
<%@ page errorPage="error/500.jsp" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
    int x = 1/0;
%>
</body>
</html>

Si une erreur se produit dans le script ci-dessus, passez à la page 500 spécifiée.

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h1>自定义500的jsp页面</h1>
</body>
</html>
  • La deuxième façon est de configurer dans web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <error-page>
        <error-code>404</error-code>
        <location>/error/500.jsp</location>
    </error-page>
</web-app>
  • La configuration de l'interface d'accueil est également configurée dans web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <error-page>
        <error-code>404</error-code>
        <location>/error/500.jsp</location>
    </error-page>
    <welcome-file-list>
        <welcome-file>welcom.jsp</welcome-file>
    </welcome-file-list>
</web-app>
  • balise include (généralement utilisée pour introduire des ressources externes, telles que l'en-tête de la page Web et le pied de la page Web)
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%--    这是第一中使用方式--%>
    <%@include file="common/header.jsp"%>
    <h1>我也网页主题</h1>
    <%@include file="common/footer.jsp"%>
<%--一般情况下会使用第二种方式--%>
<%--第二种方式jsp标签--%>
    <jsp:include page="/common/header.jsp"></jsp:include>

</body>
</html>

1.3 Balises JSP, balises JSTL, expressions EL

Vous devez importer les packages de dépendances requis avant utilisation ! ! !

  • Expression EL : ${}

    • récupérer des données
    • effectuer des opérations
    • Obtenez des objets courants utilisés dans le développement Web
  • Balises JSP (les plus couramment utilisées sont l'inclusion et le transfert)

    • <jsp:include page=""> Fusionne deux pages différentes
    • <jsp:forward page=""> transférer la page

Insérer la description de l'image ici

  • Balises JSTL

    L'utilisation de la bibliothèque de balises JSTL vise à combler les défauts des balises HTML ; elle personnalise de nombreuses balises et peut être utilisée par nous. Les fonctions des balises sont les mêmes que celles du code java !

    • Introduire la balise taglib correspondante

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

  • L'utilisation de la balise c:if (la même que celle que nous utilisons if dans le programme)

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <html>
    <head>
        <title>jstl核心标签</title>
    </head>
    <body>
    
    <form action="core.jsp" method="get">
        <%--
        EL表达式获取表单中的数据
        ${param.参数名}
        --%>
        <input type="text" name="username" value="${param.username}">
        <input type="submit" value="登录">
    </form>
    <%--判断用户提交的用户是不是管理员--%>
    <c:if test="${param.username=='admin'}" var="isadmin">
        <c:out value="管理员欢迎您!"/>
    </c:if>
    <%--下面使用自闭和的标签--%>
    <c:out value="${isadmin}"/>
    </body>
    </html>
    
  • c:set et c:choose les balises

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%--
      Created by IntelliJ IDEA.
      User: 26287
      Date: 2022/6/9
      Time: 10:53
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>c:when标签</title>
    </head>
    <body>
    <%--使用set先定义一个变量,值为85--%>
    <c:set var="score" value="85"></c:set>
    <%--下面使用choose when进行判断--%>
    <c:choose>
        <c:when test="${score>=90}">
            你的成绩为优秀
        </c:when>
        <c:when test="${score>=80}">
            你的成绩为中等
        </c:when>
        <c:when test="${score>=60}">
            你的成绩为及格
        </c:when>
    </c:choose>
    </body>
    </html>
    
  • c: pour chaque balise

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ page import="java.util.ArrayList" %><%--
      Created by IntelliJ IDEA.
      User: 26287
      Date: 2022/6/9
      Time: 11:12
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>foreach的练习</title>
    </head>
    <body>
    <%
        ArrayList<String> people = new ArrayList<>();
        people.add(0,"0号同学");
        people.add(1,"1号同学");
        people.add(2,"2号同学");
        people.add(3,"3号同学");
        people.add(4,"4号同学");
        request.setAttribute("list",people);
    %>
    <%--
    
    注释详解
    var,每一次遍历出来的变量
    items,要遍历的对象
    begin,哪里开始
    end,到哪里结束
    step,步长!!!
    
    --%>
    <c:forEach var="people" items="${list}">
        <c:out value="${people}"/>
        <br>
    </c:forEach>
    
    <c:forEach var="people" items="${list}" begin="1" end="3" step="1" >
        <c:out value="${people}"/> <br>
    </c:forEach>
    
    </body>
    </html>
    
    

Je suppose que tu aimes

Origine blog.csdn.net/qq_44540136/article/details/125200084
conseillé
Classement