2.1 Mga direktiba ng JSP
Dahil nalaman namin na ang JSP file ay na-convert sa isang regular na servlet, maaari kang magsulat ng normal na Java code dito. At sa Java code na ito, maaari kang gumamit ng iba't ibang klase (Math mula sa halimbawa). Mas maganda pa ito! Ngunit makikita natin na ang lahat ng code ay inilipat sa isang doGet()
servlet method. At agad itong nagbangon ng maraming katanungan:
- Paano ito gagawin upang ang code ay inilipat sa pamamaraan
doPost()
? - Paano magdagdag ng iyong sariling code sa pamamaraan
init()
? - Paano sa dulo upang irehistro ang mga import ng klase?
Magagandang tanong, at, siyempre, mayroon silang sagot - mga direktiba ng JSP. Ang lahat ng hindi HTML code sa loob ng isang JSP ay dapat na nakapaloob sa mga espesyal na bracket <%
at %>
. Ang lahat ng mga direktiba ng JSP ay ibinibigay ng isang template:
<%@ directive %>
Narito ang isang listahan ng mga pinakasikat na katangian ng direktiba ng page:
Halimbawa | Paglalarawan | ||
---|---|---|---|
1 | angkat | <%@ page import="java.util.Date" %> |
Nag-import ng klase |
2 | uri ng nilalaman | <%@ page contentType=text/html %> |
Nagtatakda ng contentType |
3 | umaabot | <%@ page extends="Object" %> |
Maaari mong itakda ang base class |
4 | impormasyon | <%@ page info="Author: Peter Ivanovich; version:1.0" %> |
Nagtatakda ng data para sa getServletInfo() |
5 | buffer | <%@ page buffer="16kb" %> |
Itinatakda ang laki ng buffer ng tugon |
6 | wika | <%@ page language="java" %> |
Tinutukoy ang wika, ang default ay Java |
7 | isELIgnore | <%@ page isELIgnored="true" %> |
Binibigyang-daan kang huwag paganahin ang mga script ng EL |
8 | isThreadSafe | <%@ page isThreadSafe="false" %> |
Mga puntos sa threadsafe |
9 | autoFlush | <%@ page autoFlush="false" %> |
Namamahala sa buffer writes |
10 | session | <%@ page session="false" %> |
Maaari mong i-disable ang session para sa page |
labing-isa | pageEncoding | <%@ page pageEncoding="UTF-8"%> |
Maaari mong itakda ang pag-encode ng pahina |
12 | errorPage | <%@ page errorPage="errorpage.jsp" %> |
Maaari kang magtakda ng pahina ng error |
2.2 Mga import
Magdagdag tayo ng ilang mga pag-import sa aming JSP file para sa kasiyahan at tukuyin ang isang batayang klase.
Halimbawa ng JSP file:
<%@ page import="java.util.Date" %>
<%@ page import="java.lang.Math" %>
<%@ page extends="com.codegym.MyHttpServlet" %>
<html>
<body>
<%
double num = Math.random();
if (num > 0.95) {
%>
<h2>You are lucky, user!</h2><p>(<%= num %>)</p>
<%
}
%>
</body>
</html>
At ito ang mangyayari dito:
import java.util.Date;
import java.lang.Math;
public class HelloServlet extends com.codegym.MyHttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws Exception {
PrintWriter out = response.getWriter();
out.print("<html> ");
out.print("<body> ");
double num = Math.random();
if (num > 0.95) {
out.print("<h2> You're lucky, user! </h2> <p> (" + num + ")</p> ");
}
out.print("</body> ");
out.print("</html> ");
}
}
Gumagana. Malaki!