JSP องค์ประกอบการดำเนินการ
JSP และองค์ประกอบการเรียนการสอนที่แตกต่างกัน, JSP องค์ประกอบการกระทำที่มีบทบาทสำคัญในขั้นตอนการร้องขอการประมวลผล องค์ประกอบการกระทำ JSP เขียนโดยใช้ไวยากรณ์ XML
การกระทำใช้ JSP แบบไดนามิกสามารถแทรกไฟล์นำมาใช้ส่วนประกอบ JavaBean, เปลี่ยนเส้นทางผู้ใช้ไปยังหน้าอื่นโค้ด HTML ถูกสร้างขึ้นสำหรับ Java Plug-in
การดำเนินการเป็นเพียงองค์ประกอบหนึ่งไวยากรณ์ก็สอดคล้องกับมาตรฐาน XML:
<jsp:action_name attribute="value" />
องค์ประกอบการดำเนินการมีพื้นฟังก์ชั่นที่กำหนดไว้ล่วงหน้าเป JSP กำหนดชุดมาตรฐานของการดำเนินการนั้นจะใช้ JSP เป็นคำนำหน้าองค์ประกอบการดำเนินการมาตรฐานที่มีอยู่:
ไวยากรณ์ | ลักษณะ |
---|---|
jsp: include | การแนะนำของเอกสารเมื่อหน้ามีการร้องขอ |
JSP: useBean | หาหรืออินสแตนซ์ JavaBean |
JSP: setProperty | ตั้ง JavaBean คุณสมบัติ |
JSP: getProperty | การส่งออกของสถานที่ให้บริการ JavaBean |
JSP: ไปข้างหน้า | การร้องขอไปยังหน้าใหม่ |
JSP: ปลั๊กอิน | สร้างวัตถุหรือฝังแท็กสำหรับ Java Plug-in ตามประเภทของเบราว์เซอร์ |
JSP: องค์ประกอบ | กำหนดองค์ประกอบ XML แบบไดนามิก |
JSP: แอตทริบิวต์ | ตั้งค่าคุณสมบัติการกำหนดองค์ประกอบ XML แบบไดนามิก |
JSP: ร่างกาย | ตั้งเนื้อหาองค์ประกอบ XML กำหนดแบบไดนามิก |
JSP: ข้อความ | ใช้ข้อความที่เขียนในหน้า JSP และแม่แบบเอกสาร |
คุณสมบัติทั่วไป
องค์ประกอบทุกการกระทำมีสองคุณลักษณะ: แอตทริบิวต์ ID และแอตทริบิวต์ขอบเขต
- แอตทริบิวต์ ID:
แอตทริบิวต์ ID ที่ไม่ซ้ำกันระบุองค์ประกอบการกระทำที่สามารถอ้างอิงได้ในหน้า JSP ค่า ID ขององค์ประกอบการกระทำที่สร้างขึ้นสามารถเรียกโดย PageContext
- แอตทริบิวต์ขอบเขต:
คุณลักษณะนี้จะใช้เพื่อระบุองค์ประกอบการกระทำของวงจรชีวิต แอตทริบิวต์แอตทริบิวต์ ID และขอบเขตที่เกี่ยวข้องโดยตรงแอตทริบิวต์ขอบเขตกำหนดอายุการใช้งานของวัตถุ ID ที่เกี่ยวข้อง คุณสมบัติขอบเขตมีสี่ค่าที่เป็นไปนี้ (ก) หน้า (ข) การร้องขอ (c) เซสชั่นและ (ง) การประยุกต์ใช้
<jsp: include> องค์ประกอบการดำเนินการ
<jsp: include> องค์ประกอบการกระทำที่ถูกนำมาใช้เพื่อให้มีเอกสารนิ่งและเคลื่อนไหว การกระทำของแฟ้มที่ระบุไว้ในหน้าที่ถูกสร้างขึ้น ไวยากรณ์เป็นดังนี้:
<jsp:include page="相对 URL 地址" flush="true" />
มันได้รับการแนะนำรวมถึงการเรียนการสอนซึ่งเป็นที่รู้จักในแฟ้มเอกสาร JSP จะถูกแปลงเป็น Servlet เมื่อและที่ jsp: include กระทำจะแตกต่างจากเวลาที่ไฟล์จะถูกแทรกลงในหน้าเว็บที่มีการร้องขอ
ต่อไปนี้เป็นรายชื่อของการดำเนินการรวมคุณสมบัติที่เกี่ยวข้อง
คุณสมบัติ | ลักษณะ |
---|---|
หน้า | ที่มีอยู่ในที่อยู่ URL หน้าญาติ |
เปี่ยม | คุณสมบัติบูลีนที่มีคำจำกัดความทรัพยากรก่อนว่าจะรีเฟรชแคช |
ตัวอย่าง
เรากำหนดดังต่อไปนี้ date.jsp สองไฟล์และ main.jsp รหัสดังต่อไปนี้:
รหัสไฟล์ date.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <p> 今天的日期是: <%= (new java.util.Date()).toLocaleString()%> </p>
รหัสไฟล์ main.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3big.com)</title> </head> <body> <h2>include 动作实例</h2> <jsp:include page="date.jsp" flush="true" /> </body> </html>
ตอนนี้มากขึ้นกว่าสองไฟล์ในไดเรกทอรีรากของเซิร์ฟเวอร์การเข้าถึงไฟล์ main.jsp ที่ แสดงผลดังต่อไปนี้:
include 动作实例 今天的日期是: 2016-6-25 14:08:17
<Jsp: useBean> องค์ประกอบการดำเนินการ
JSP: การกระทำ useBean จะใช้ในการโหลด JavaBean เพื่อนำมาใช้ในหน้า JSP
คุณลักษณะนี้จะเป็นประโยชน์อย่างมากเพราะจะช่วยให้เราสามารถเล่นได้เปรียบในการที่นำมาใช้องค์ประกอบ Java
JSP: การกระทำ useBean ไวยากรณ์ที่ง่ายที่สุดคือ:
<jsp:useBean id="name" class="package.class" />
หลังเลิกเรียนจะเต็มไปเราสามารถทั้งผ่าน JSP: การปรับเปลี่ยนและเรียกการกระทำคุณสมบัติถั่ว getProperty: setProperty และ JSP
ต่อไปนี้เป็นรายการของคุณลักษณะที่เกี่ยวข้องดำเนินการ useBean
คุณสมบัติ | ลักษณะ |
---|---|
ชั้น | ระบุชื่อแพคเกจเต็มรูปแบบของถั่ว |
ชนิด | ระบุตัวแปรวัตถุประเภทอ้างอิง |
beanName | () วิธีการระบุชื่อของถั่ว java.beans.Beans โดยยกตัวอย่าง |
ก่อนที่จะให้ตัวอย่างเฉพาะลองมาดูที่ JSP นี้: setProperty และ JSP: การกระทำ getProperty องค์ประกอบ:
<Jsp: setProperty> องค์ประกอบการดำเนินการ
JSP: setProperty เพื่อกำหนดวัตถุ Bean instantiated แล้วคุณลักษณะในสองวิธี แรกคุณสามารถ JSP: useBean ใช้องค์ประกอบนอก (ด้านหลัง) JSP: setProperty ดังต่อไปนี้:
<jsp:useBean id="myName" ... /> ... <jsp:setProperty name="myName" property="someProperty" .../>
ในกรณีนี้โดยไม่คำนึงถึง JSP: useBean คือการหาที่มีอยู่ Bean หรือสร้างอินสแตนซ์ Bean ใหม่ JSP: setProperty จะถูกดำเนินการ ประการที่สองคือการใช้ JSP: setProperty เข้า JSP: องค์ประกอบของการตกแต่งภายใน useBean ดังต่อไปนี้:
<jsp:useBean id="myName" ... > ... <jsp:setProperty name="myName" property="someProperty" .../> </jsp:useBean>
ในเวลานี้ JSP: setProperty เฉพาะในอินสแตนซ์ Bean ใหม่จะดำเนินการถ้าคุณกำลังใช้อินสแตนซ์ที่มีอยู่จะไม่ได้ดำเนินการ JSP: setProperty
JSP: การกระทำ setProperty มีดังต่อไปนี้คุณสมบัติที่สี่ในตารางต่อไปนี้:
คุณสมบัติ | ลักษณะ |
---|---|
ชื่อ | แอตทริบิวต์ต้องระบุชื่อ มันบอกว่าจะตั้งค่าคุณสมบัติของซึ่ง Bean |
คุณสมบัติ | แอตทริบิวต์คุณสมบัติเป็นสิ่งจำเป็น มันบ่งบอกถึงแอตทริบิวต์การตั้งค่า มีการใช้งานพิเศษ: หากมูลค่าของทรัพย์สินที่เป็น "*" หมายถึงการร้องขอสำหรับชื่อของพารามิเตอร์ทั้งหมดและถั่วแอตทริบิวต์ชื่อตรงกับจะถูกส่งผ่านไปยังวิธีแอตทริบิวต์ที่สอดคล้องกันตั้ง |
ความคุ้มค่า | แอตทริบิวต์ค่าเป็นตัวเลือก คุณลักษณะนี้จะใช้ในการระบุค่าของถั่วทรัพย์สิน ข้อมูลสตริงในระดับเป้าหมายด้วยวิธีมาตรฐาน valueOf แปลงโดยอัตโนมัติในดิจิตอลบูลีนบูลไบต์ไบต์ถ่านตัวอักษร ยกตัวอย่างเช่นบูลีนและชนิดบูลีนมูลค่าทรัพย์สิน (ตัวอย่างเช่น "จริง") โดยการแปลง Boolean.valueOf มูลค่าทรัพย์สินของชนิด int และจำนวนเต็ม (เช่น "42") โดย Integer.valueOf แปลง ค่าพารามิเตอร์และไม่สามารถนำมาใช้ แต่คุณสามารถใช้หนึ่งของพวกเขาใด ๆ |
พระราม | พระรามเป็นตัวเลือก ซึ่งจะระบุค่าคำขอเป็นค่าของถั่วทรัพย์สิน หากคำขอปัจจุบันมีพารามิเตอร์ไม่มีแล้วไม่ได้ทำอะไรระบบจะไม่ถูกส่งผ่านไปยังวิธีการเซตทรัพย์สิน Bean เพื่อให้คุณสามารถ Bean ของคุณเองให้มูลค่าทรัพย์สินเริ่มต้นเฉพาะเมื่อค่าคำขออย่างชัดเจนระบุค่าใหม่ในการแก้ไขค่าคุณสมบัติเริ่มต้น |
<Jsp: getProperty> องค์ประกอบการดำเนินการ
JSP: การกระทำ getProperty เพื่อดึงค่าของถั่วระบุทรัพย์สินที่แปลงสตริงแล้วออก ไวยากรณ์เป็นดังนี้:
<jsp:useBean id="myName" ... /> ... <jsp:getProperty name="myName" property="someProperty" .../>
ตารางต่อไปนี้เป็นทรัพย์สินที่เกี่ยวข้องกับ getProperty:
คุณสมบัติ | ลักษณะ |
---|---|
ชื่อ | ชื่อคุณสมบัติ Bean เพื่อดึง ถั่วจะต้องกำหนด |
คุณสมบัติ | เพราะมันหมายถึงมูลค่าของทรัพย์สินที่จะดึงถั่ว |
ตัวอย่าง
ตัวอย่างต่อไปนี้เราจะใช้ถั่ว:
package com.w3big.main; public class TestBean { private String message = "本教程"; public String getMessage() { return(message); } public void setMessage(String message) { this.message = message; } }
รวบรวมไฟล์ตัวอย่างข้างต้น TestBean.java:
$ javac TestBean.java
หลังจากรวบรวมจะสร้างในไดเรกทอรีปัจจุบัน TestBean.class ไฟล์คัดลอกไฟล์ไปยังโครงการภายใต้ WebContent JSP / WEB-INF / คลาส / คอม / w3big / หลัก (COM / w3big / หลัก เส้นทางปัจจุบันของแพคเกจที่มีความจำเป็นต้องด้วยตนเอง สร้าง)
นี่คือโครงสร้างไดเรกทอรี Eclipse:
นี่เป็นตัวอย่างที่ง่ายมากหน้าที่ของมันคือการโหลดถั่วและจากนั้นตั้ง / อ่านแอตทริบิวต์ข้อความ
ตอนนี้ขอเรียก Bean ในแฟ้ม main.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3big.com)</title> </head> <body> <h2>Jsp 使用 JavaBean 实例</h2> <jsp:useBean id="test" class="com.w3big.main.TestBean" /> <jsp:setProperty name="test" property="message" value="本教程..." /> <p>输出信息....</p> <jsp:getProperty name="test" property="message" /> </body> </html>
เข้าถึงเบราว์เซอร์, การดำเนินงานของเอกสารดังกล่าวออกเป็นดังนี้:
<Jsp: ส่งต่อ> องค์ประกอบการดำเนินการ
JSP: การกระทำข้างหน้าการร้องขอไปยังหน้าอื่น JSP: แท็กไปข้างหน้ามีเพียงหน้าคุณสมบัติอย่างใดอย่างหนึ่ง ไวยากรณ์เป็นดังนี้:
<jsp:forward page="相对 URL 地址" />
ต่อไปนี้เป็นคุณสมบัติที่เกี่ยวข้องไปข้างหน้า:
คุณสมบัติ | ลักษณะ |
---|---|
หน้า | แอตทริบิวต์หน้ามี URL ญาติ มูลค่าหน้ารับทั้งโดยตรงจะนำไปคำนวณแบบไดนามิกในเวลาของการร้องขอซึ่งสามารถเป็นหน้า JSP หรือ Java Servlet |
ตัวอย่าง
ตัวอย่างต่อไปนี้เราจะใช้เอกสารทั้งสองกล่าวคือ: date.jsp และ main.jsp
รหัสไฟล์ date.jsp เป็นดังนี้:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <p> 今天的日期是: <%= (new java.util.Date()).toLocaleString()%> </p>
รหัสไฟล์ main.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3big.com)</title> </head> <body> <h2>forward 动作实例</h2> <jsp:forward page="date.jsp" /> </body> </html>
ตอนนี้มากขึ้นกว่าสองไฟล์ในไดเรกทอรีรากของเซิร์ฟเวอร์การเข้าถึงไฟล์ main.jsp ที่ แสดงผลดังต่อไปนี้:
今天的日期是: 2016-6-25 14:37:25
<Jsp: ปลั๊กอิน> องค์ประกอบการดำเนินการ
JSP: ปลั๊กอินการดำเนินการจะใช้ตามชนิดของเบราว์เซอร์แทรกวัตถุหรือองค์ประกอบ EMBED วิ่งผ่าน Java Plug-in Java Applet ที่จำเป็น
หากปลั๊กไฟไม่จำเป็นต้องอยู่ก็จะดาวน์โหลดปลั๊กอินและแล้วรันส่วนประกอบ Java ส่วนประกอบ Java สามารถหรือแอปเพล็ JavaBean
การกระทำปลั๊กอินที่สอดคล้องกับส่วนใหญ่ขององค์ประกอบ HTML แอตทริบิวต์การจัดรูปแบบส่วนประกอบ Java องค์ประกอบพระรามสามารถใช้ในการส่งผ่านพารามิเตอร์เพื่อ Applet หรือถั่ว
นี่เป็นตัวอย่างทั่วไปขององค์ประกอบการกระทำปลั๊กอิน:
<jsp:plugin type="applet" codebase="dirname" code="MyApplet.class" width="60" height="80"> <jsp:param name="fontcolor" value="red" /> <jsp:param name="background" value="black" /> <jsp:fallback> Unable to initialize Java Plugin </jsp:fallback> </jsp:plugin>
หากคุณสนใจคุณสามารถลองใช้แอปเพล็เพื่อทดสอบ JSP: องค์ประกอบการกระทำปลั๊กอิน <สำรอง> องค์ประกอบเป็นองค์ประกอบใหม่มีข้อผิดพลาดเกิดขึ้นในความล้มเหลวส่วนถูกส่งไปยังข้อผิดพลาดของผู้ใช้
<Jsp: องค์ประกอบ>, <JSP: แอตทริบิวต์>, <JSP: ร่างกาย> การกระทำองค์ประกอบ
<Jsp: องค์ประกอบ>, <JSP: แอตทริบิวต์>, <JSP: body> องค์ประกอบการดำเนินการกำหนดแบบไดนามิกองค์ประกอบ XML แบบไดนามิกเป็นสิ่งสำคัญมากซึ่งหมายความว่าองค์ประกอบ XML จะสร้างแบบไดนามิกที่รวบรวมเวลามากกว่าแบบคงที่
ตัวอย่างต่อไปนี้กำหนดองค์ประกอบ XML แบบไดนามิก:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3big.com)</title> </head> <body> <jsp:element name="xmlElement"> <jsp:attribute name="xmlElementAttr"> 属性值 </jsp:attribute> <jsp:body> XML 元素的主体 </jsp:body> </jsp:element> </body> </html>
เบราว์เซอร์ในการเข้าถึงหน้าต่อไปนี้การส่งออกจะเป็นดังนี้:
<Jsp: ข้อความ> การกระทำองค์ประกอบ
<Jsp: ข้อความ> องค์ประกอบการกระทำที่ช่วยให้การใช้แม่แบบในการเขียนข้อความในหน้า JSP และเอกสารไวยากรณ์เป็นดังนี้:
<jsp:text>模板数据</jsp:text>
แม่แบบข้อความข้างต้นไม่สามารถมีองค์ประกอบอื่น ๆ สามารถมีข้อความและการแสดงออก EL (หมายเหตุ: การแสดงออก EL จะอธิบายไว้ในส่วนต่อมา) โปรดทราบว่าในไฟล์ XML คุณไม่สามารถใช้การแสดงออกเช่น $ {สิ่งที่> 0} เพราะสัญลักษณ์> เป็นสิ่งผิดกฎหมาย คุณสามารถใช้ $ {สิ่ง GT 0} แสดงออกค่าหรือฝังตัวอยู่ในส่วน CDATA
<jsp:text><![CDATA[<br>]]></jsp:text>
หากคุณจำเป็นต้องประกาศ DOCTYPE ใน XHTML, คุณต้องใช้ <JSP: ข้อความ> องค์ประกอบการกระทำตัวอย่างดังต่อไปนี้:
<jsp:text><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">]]> </jsp:text> <head><title>jsp:text action</title></head> <body> <books><book><jsp:text> Welcome to JSP Programming </jsp:text></book></books> </body> </html>
คุณสามารถลองใช้ตัวอย่างข้างต้น <JSP: ข้อความ> ความแตกต่างขององค์ประกอบและไม่ให้ใช้ผลของการกระทำ