JSP 구문
이 섹션에서는 JSP 개발의 기본 구문을 간략하게 소개합니다.
스크립트 프로그램
스크립트 프로그램에는 스크립트 언어에서 유효한 한 Java 문, 변수, 메소드 또는 표현식을 원하는 수만큼 포함할 수 있습니다.
스크립트 구문 형식:
<% 代码片段 %>
또는 다음과 같이 동등한 XML 문을 작성할 수 있습니다.
<jsp:scriptlet> 代码片段 </jsp:scriptlet>
모든 텍스트, HTML 태그, JSP 요소는 스크립트 외부에 작성해야 합니다. 스크립트 프로그램.
아래 예제는 이 튜토리얼의 첫 번째 JSP 예제이기도 합니다:
<html> <head><title>Hello World</title></head> <body> Hello World!<br/> <% out.println("Your IP address is " + request.getRemoteAddr()); %> </body> </html>
참고: Apache Tomcat이 C에 설치되어 있는지 확인하십시오: apache -tomcat -7.0.2 디렉토리 및 실행 환경이 올바르게 설정되었습니다.
위 코드를 hello.jsp에 저장한 후 C:apache-tomcat-7.0.2webappsROOT 디렉터리에 넣고 브라우저를 열고 주소 표시줄에 http://localhost:8080/을 입력합니다. jsp. 실행 후 다음 결과를 얻습니다.
중국어 인코딩 문제
페이지에 중국어를 정상적으로 표시하려면 다음을 추가해야 합니다. 코드를 JSP 파일의 선두에: <>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
분석한 후 위 프로그램을 다음과 같이 수정합니다:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> Hello World!<br/> <% out.println("你的 IP 地址 " + request.getRemoteAddr()); %> </body> </html>
이렇게 하면 중국어가 정상적으로 표시될 수 있습니다.
JSP 선언
선언문은 후속 Java 코드에서 사용할 하나 이상의 변수와 메소드를 선언할 수 있습니다. JSP 파일에서는 이러한 변수와 메소드를 사용하기 전에 선언해야 합니다.
JSP 선언 구문 형식:
<%! declaration; [ declaration; ]+ ... %>
또는 다음과 같이 해당 XML 문을 작성할 수 있습니다.
<jsp:declaration> 代码片段 </jsp:declaration>
프로그램 예:
<%! int i = 0; %> <%! int a, b, c; %> <%! Circle a = new Circle(2.0); %>
JSP 표현식
JSP 표현식에 포함된 스크립트 언어 표현식은 먼저 String으로 변환된 후 표현식이 나타나는 위치에 삽입됩니다.
표현식의 값이 문자열로 변환되므로 HTML 태그인지 여부에 관계없이 텍스트 한 줄에 표현식을 사용할 수 있습니다.
표현식 요소에는 Java 언어 사양을 준수하는 모든 표현식이 포함될 수 있지만 세미콜론을 사용하여 표현식을 끝낼 수는 없습니다.
JSP 표현식의 구문 형식:
<%= 表达式 %>
마찬가지로 동일한 XML 문을 작성할 수도 있습니다.
<jsp:expression> 表达式 </jsp:expression>
프로그램 예:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <p> 今天的日期是: <%= (new java.util.Date()).toLocaleString()%> </p> </body> </html>
다음 실행 후 결과를 얻습니다:
今天的日期是: 2016-6-25 13:40:07
JSP 주석
JSP 주석에는 코드에 주석을 달고 코드의 특정 부분을 주석 처리하는 두 가지 주요 기능이 있습니다.
JSP 주석의 구문 형식:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <%-- 该部分注释在网页中不会被显示--%> <p> 今天的日期是: <%= (new java.util.Date()).toLocaleString()%> </p> </body> </html>
실행 후 다음 결과를 얻습니다.
今天的日期是: 2016-6-25 13:41:26
다양한 상황에서 주석을 사용하기 위한 구문 규칙:
语法 | 描述 |
---|---|
<%-- 注释 --%> | JSP注释,注释内容不会被发送至浏览器甚至不会被编译 |
<!-- 注释 --> | HTML注释,通过浏览器查看网页源代码时可以看见注释内容 |
<% | 代表静态 <%常量 |
%> | 代表静态 %> 常量 |
' | 在属性中使用的单引号 |
" | 在属性中使用的双引号 |
JSP 지시어
JSP 지시어는 전체 JSP 페이지와 관련된 속성을 설정하는 데 사용됩니다.
JSP 명령 구문 형식:
<%@ directive attribute="value" %>
세 가지 명령 태그가 있습니다:
指令 | 描述 |
---|---|
<%@ page ... %> | 定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等 |
<%@ include ... %> | 包含其他文件 |
<%@ taglib ... %> | 引入标签库的定义,可以是自定义标签 |
JSP 동작
JSP 동작 태그는 XML 구문 구조를 사용하여 서블릿 엔진을 제어합니다. 동적으로 파일을 삽입하고, JavaBean 구성 요소를 재사용하고, 사용자를 다른 페이지로 안내하고, Java 플러그인용 관련 HTML을 생성하는 등의 작업을 수행할 수 있습니다.
동작 태그에는 XML 표준을 엄격하게 준수하는 하나의 구문 형식만 있습니다.
<jsp:action_name attribute="value" />
동작 태그는 기본적으로 일부 사전 정의된 함수입니다. 다음 표에는 사용 가능한 일부 JSP 동작 태그가 나열되어 있습니다. 🎜>
JSP 숨겨진 개체
JSP는 Jianghu 사람들이 숨겨진 개체라고 부르는 9개의 자동 정의 변수를 지원합니다. 이 9가지 숨겨진 물건에 대한 소개는 아래 표와 같습니다.
对象 | 描述 |
---|---|
request | HttpServletRequest类的实例 |
response | HttpServletResponse类的实例 |
out | PrintWriter类的实例,用于把结果输出至网页上 |
session | HttpSession类的实例 |
application | ServletContext类的实例,与应用上下文有关 |
config | ServletConfig类的实例 |
pageContext | PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问 |
page | 类似于Java类中的this关键字 |
Exception | Exception类的对象,代表发生错误的JSP页面中对应的异常对象 |
제어 흐름 문
JSP는 Java 언어를 완벽하게 지원합니다. JSP 프로그램에서 Java API를 사용할 수 있으며 판단문, 루프문 등을 포함한 Java 코드 블록을 생성할 수도 있습니다.
판단문
If…else 블록의 경우 다음 예를 참조하세요.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%! int day = 3; %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <h3>IF...ELSE 实例</h3> <% if (day == 1 | day == 7) { %> <p>今天是周末</p> <% } else { %> <p>今天不是周末</p> <% } %> </body> </html>
실행 후 다음과 같은 결과가 나옵니다.
IF...ELSE 实例 今天不是周末
이제 스위치를 살펴보겠습니다. ...case 블록은 if와 유사합니다. ...else 블록은 out.println()을 사용하며 다음과 같이 전체 스크립트가 스크립트 태그에 설치됩니다. 브라우저 액세스, 실행 후 다음 결과를 얻습니다.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%! int day = 3; %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <h3>SWITCH...CASE 实例</h3> <% switch(day) { case 0: out.println("星期天"); break; case 1: out.println("星期一"); break; case 2: out.println("星期二"); break; case 3: out.println("星期三"); break; case 4: out.println("星期四"); break; case 5: out.println("星期五"); break; default: out.println("星期六"); } %> </body> </html>루프 문
JSP 프로그램에서 Java의 세 가지 기본 루프 유형인 for, while 및 do를 사용할 수 있습니다.. .하는 동안.
for 루프의 예를 살펴보겠습니다. 다음은 글꼴 크기가 다른 "php Chinese website"의 출력입니다.
SWITCH...CASE 实例 星期三
실행 후 다음 결과를 얻습니다.
위의 예를 while 루프를 사용하여 작성하도록 변경합니다.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%! int fontSize; %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <h3>For 循环实例</h3> <%for ( fontSize = 1; fontSize <= 3; fontSize++){ %> <font color="green" size="<%= fontSize %>"> php中文网 </font><br /> <%}%> </body> </html>브라우저 액세스, 출력 결과는 (fontSize가 0으로 초기화되었으므로 한 줄이 더 출력됩니다) :
JSP 연산자 JSP는 모든 Java 논리 및 산술 연산자를 지원합니다.
다음 표에는 일반적인 JSP 연산자가 높은 우선순위부터 나열되어 있습니다.
범주 | 연산자 | 연관성 |
---|---|---|
접미사 | () [] .(점 연산자) | 왼쪽에서 오른쪽으로 |
1달러 | ++ - - ! ~ | 오른쪽에서 왼쪽으로 |
다중성 | * / % | 왼쪽에서 오른쪽으로 |
가산성 | + - | 왼쪽에서 오른쪽으로 |
쉬프트 | >><< | 왼쪽에서 오른쪽으로 |
관계 | >>= < <= | 왼쪽에서 오른쪽으로 |
같음/같지 않음 | == != | 왼쪽에서 오른쪽으로 |
비트 및 | & | 왼쪽에서 오른쪽으로 |
비트 독점 또는 | ^ | 왼쪽에서 오른쪽으로 |
비트 또는 | | | 왼쪽에서 오른쪽으로 |
논리 AND | && | 왼쪽에서 오른쪽으로 |
논리적 OR | || | 왼쪽에서 오른쪽으로 |
조건부 판단 | ?: | 오른쪽에서 왼쪽으로 |
과제 | = += -= *= /= %= >>= <<= &= ^= |= | 오른쪽에서 왼쪽으로 |
쉼표 | , | 왼쪽에서 오른쪽으로 |
JSP 리터럴
JSP 언어는 다음 리터럴을 정의합니다.
부울: 참 및 거짓;
정수 유형(int): Java와 동일
Float: Java와 동일
문자열: 작은따옴표 또는 큰따옴표로 시작하고 끝납니다.
널: 널.