JavaRush /Курстар /All lectures for KY purposes /JSP директивалары

JSP директивалары

All lectures for KY purposes
Деңгээл , Сабак
жеткиликтүү

5.1 include

Дагы бир нече кызыктуу директивалар бар, алар жөнүндө айтып бергим келет. Биринчи директива – бул include директивасы. Ал башка файлды барактын белгиленген жерине кошууга мүмкүнчүлүк берет. Бул директиванын жалпы форматы мындай болот:


        <%@ include file="url"%>
        

Сен жөн гана файлды эмес, башка бир jsp-сервлетти же ал тургай urlды көрсөтсөң болот.

Мисал:


 <%@ include file="header.jsp"%>
 
    <%
        double num = Math.random();
        if (num > 0.95) {
            out.print(num);
        }
    %> 
 
 <%@ include file="footer.jsp"%>

Мисалы, сайттын бардык барактарынын жогорку бөлүгүн header.jspке, ал эми төмөнкү бөлүгүн footer.jspке чыгарып, бардык барактарды конструктор катары чогултсаң болот.

5.2 forward

Классикалык сервлеттерде башка urlге redirect же forward жасоо мүмкүнчүлүгүн эсинде барбы? JSPде бул дагы бар жана ан үчүн атайын аракет колдонулат. Бул аракет мурун көргөндөрүңдөн бир аз айырмаланат:


         <jsp:forward page="url"/>
        

Ошондой эле параметрлери менен өркүндөтүлгөн варианты бар:


<jsp:forward page="url" >
 <jsp:param name="аталышы" value="баасы"/>
 <jsp:param name="аталышы" value="баасы"/>
 <jsp:param name="аталышы" value="баасы"/>
</jsp:forward>

Мисал:


<html>
   <head>
    <title>The Forward Example</title>
   </head>
   <body>
    <center>
        <h2> Forward example </h2>
 <jsp:forward page="login.jsp"/>
    </center>
   </body>
</html>

5.3 Redirect

Redirect үчүн атайын директива жок, бирок аны Java-кодду колдонуунун жардамы менен аткарса болот.

Мисал:



<body>
 <%
 String redirectURL = "https://javarush.com/";
 response.sendRedirect(redirectURL);
 %>
</body>

Бул мисал 302 redirect жөнөтөт. Эгерде сага 301 redirect керек болсо, анда бир аз код жазуу керек:



<body>
 <%
 response.setStatus(301);
 response.setHeader("Location", "https://javarush.com/");
 response.setHeader("Connection", "close");
 %>
</body>

Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION