Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:howto:add_custom_tag

====== Unterschiede ====== Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Both sides previous revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:howto:add_custom_tag [2011/08/09 11:19]
benjamin -indent
de:howto:add_custom_tag [2024/09/18 08:32] (aktuell)
Zeile 19: Zeile 19:
 **Autor:** **Autor:**
  
-Benjamin https://​github.com/​benjamin4ruby+Benjamin ​Pick https://​github.com/​benjaminpick
  
 ===== Download ===== ===== Download =====
Zeile 59: Zeile 59:
  
 ==== Desktop-Suche ==== ==== Desktop-Suche ====
 +//​(benötigt regain Version 1.7.9 oder höher)//
  
 Damit die Desktop-Suche funktioniert,​ muss der Tag-Namespace ("​my_tag"​) unter [[de:​config:​desktopconfiguration.xml]] hinzugefügt werden: Damit die Desktop-Suche funktioniert,​ muss der Tag-Namespace ("​my_tag"​) unter [[de:​config:​desktopconfiguration.xml]] hinzugefügt werden:
Zeile 73: Zeile 74:
 </​code>​ </​code>​
  
-Damit die generierte .class-Datei geladen wird, können wir sie entweder der regain.jar hinzufügen (wenn Sie sie selbst [[de:​project_info:​building_regain]]),​ oder in als my_tag.jar in den ''​web/​taglib''​-Ordner stecken.+Damit die generierte .class-Datei geladen wird, können wir sie entweder der regain.jar hinzufügen (wenn Sie sie selbst [[de:​project_info:​building_regain]]),​ oder in als ''​my_tag.jar'' ​in den ''​web/​taglib''​-Ordner stecken.
  
   jar c0f my_tag.jar some/​example/​*.class   jar c0f my_tag.jar some/​example/​*.class
Zeile 79: Zeile 80:
 ==== Server-Suche ==== ==== Server-Suche ====
  
 +Zuerst müssen wir die neuen Tags deklarieren. Wir erstellen eine Datei ''​web/​taglib/​mytag.tld''​ (Name wählbar). (Siehe ''​web/​server/​regain-search.tld''​ als Template.)
  
-===== Offene Punkte =====+<code xml> 
 +<?xml version="​1.0"​ encoding="​UTF-8"​ ?> 
 +<​!DOCTYPE taglib PUBLIC "​-//​Sun Microsystems,​ Inc.//DTD JSP Tag Library 1.1//​EN"​ "​http://​java.sun.com/​dtd/​web-jsptaglibrary_1_1.dtd">​ 
 + 
 +<​taglib>​ 
 +  <​tlibversion>​1.0</​tlibversion>​ 
 +  <​jspversion>​1.1</​jspversion>​ 
 +  <​shortname>​my_tag</​shortname>​ 
 +  <​info>​Example Taglib</​info>​ 
 +  <​tag>​ 
 +    <​info>​ 
 +      Shows "​Hello,​ World!"​ 
 +    </​info>​ 
 +    <​name>​helloworld</​name>​ 
 +    <​tagclass>​some.example.server.HelloworldTag</​tagclass>​ 
 +    <​bodycontent>​empty</​bodycontent>​ 
 +  </​tag>​ 
 +</​taglib>​ 
 +</​code>​ 
 + 
 +Dann fügen wir diese Deklaration der JSP hinzu (ganz oben): 
 + 
 +<code xml> 
 +<​%@taglib uri="​taglib/​mytag.tld"​ prefix="​my_tag"​ %> 
 +</​code>​ 
 + 
 +Wir müssen noch eine Wrapper-Klasse schreiben (''​some/​example/​server/​HelloworldTag.java''​):​ 
 + 
 +<code java> 
 +package some.example.server;​ 
 + 
 +import net.sf.regain.util.sharedtag.taglib.SharedTagWrapperTag;​ 
 + 
 +public class HelloworldTag extends SharedTagWrapperTag { 
 +  public HelloworldTag() { 
 +    super(new some.example.HelloworldTag());​ 
 +  } 
 +
 +</​code>​ 
 +(Kompilieren am besten mit den original-Sourcen von Regain ... ant runtime-server und dann build/​classes und build/​included-lib-classes/​common als Classpath verwenden.) 
 + 
 +Jetzt muss Regain nur noch (beide) Klassen laden. Entweder in die .war packen, oder nach dem deployen nach ''​WEB-INF/​classes''​ (some/​example/​...) oder nach ''​WEB-INF/​lib''​ (als my_tag.jar) kopieren. Der Servlet-Container muss neu gestartet werden.
  
-Ideen zur Weiterentwicklung oder bekannte Bugs. 
  
  
de/howto/add_custom_tag.1312881569.txt.gz · Zuletzt geändert: 2024/09/18 08:32 (Externe Bearbeitung)