מדריך JSP – פקודות, חלק ב'

<jsp:include> הוספת קובץ דינמי:

הוספה דינמית בהרצה של דף כולל אפשריות הגדרת משתנים
לדוגמא:

<jsp:include page="scripts/login.jsp">    
   <jsp:param name="username" value="jsmith" />    
</jsp:include> 

כאן זה מבצע: scripts/login.jsp?username=jsmith

הוספת הגדרות מספריות שרות:
<%page import> – ספריית JAVA
ל-SNIPLETS JAVA – IMPORT

<%@ page import="package.class | package.*}, ...%>  

למשל:

<%@ page import="java.util.Date"%>  

<%@ taglib> – הרחבות ל HTML

ל-HTML – TAGLIB
הוספת הרחבות ל HTML ע"י USERS TAGS

<%@ taglib uri="URIForLibrary" prefix="tagPrefix" %>

דוגמא לשימוש:

<%@ taglib uri="Web-Info/tags " prefix="mine" %>    
<mine:helloworld name="adi"/> 

הערה: הURI יכול להיות כתובת מלאה או יחסית או שם לוגי שממופה לקובץ TLD בעזרת קובץ web.xml המתואר בהמשך.

הגדרת ה-TAGS המופיע מתבצע בקובץ מסוג tld נראה כך:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" 
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
    <tlibversion>1.0</tlibversion>
    <jspversion>1.1</jspversion>
    <shortname>Samples</shortname>
    <info>Sample Tag library</info>
  <!-A Simple tag -->
  <tag>
    <name>helloworld</name>
    <tagclass>adi.examples.Hello </tagclass>
   <bodycontent>empty</bodycontent> ללא אלמנט טקסט 
    <info>
    הסבר על תפקידו
    </info>
  <!-- פרמטרים אפשריים -->
  <attribute>
      <name>name</name> שם
      <required>false</required> האם חובה
      <rtexpvalue>false</rtexpvalue>
  </attribute>
</tag>
</taglib>

קוד התוכנית המטפלת בTAG:

package adi.examples;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class Hello extends TagSupport {
  private String name=null;
  public void setName(String value){ name = value;} //טיפול בפרמטר
  public String getName(){return name;}
  public int doStartTag() { 
     try {
        JspWriter out = pageContext.getOut();
        out.println("<br> Hello " + name);
        } catch (Exception ex) {
     throw new Error("All is not well in the world.");
     }
     // ללא טיפול בגוף
     return SKIP_BODY;
    }
   public int doEndTag(){ // בסיום 
     try {
            JspWriter out = pageContext.getOut();
     out.println("<br>");
     } catch (Exception ex){
         throw new Error("All is not well in the world.");
     }
    }
} 

בדרך כלל אורזים את כל התוכניות של הTAGS לJAR שגם הוא ZIP (JAVA ARCHIVE) שממוקם מתחת לתת תיקיה:
Web-info/lib (ראה מבנה הקבצים בהמשך)

תגיות: ,

עדי לב

מנהל פורום HTPC ב HOMETHEATER הישראלימקים ומנהל אתר חלם www.chelem.org.il  הבלוג שלי ובשבילכם

תגובות בפייסבוק