Latest web development tutorials

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: ข้อความ> ความแตกต่างขององค์ประกอบและไม่ให้ใช้ผลของการกระทำ