Wie Sie ein Makro erstellen/Snippet/HTML-Fragment/Named Abschnitt im JSP-ohne Verwendung von tags/includes/JSPFragments?

StackOverflow https://stackoverflow.com/questions/2220778

Frage

Dies könnte eine sehr newbie-Frage, aber ich habe nichts gefunden befriedigend

Ich tun wollen somethign, wie dies in JSP (out of the box vorzugsweise):

z.B.in einer Datei namens products.jsp eine imaginäre Umsetzung, der erklärt, was ich will

<x:named-segment name="product">
     Product: <strong>${product.name}</strong> <br/>
     price: ${product.price}
</x:named-segment>

und später diese in verschiedenen Lage in der gleichen JSP-es definiert ist

<table>
   <c:forEach var="product" items="${products}">
      <tr>
         <td><x:use-segment name="product"/></td>
      </tr>
   </c:forEach>
</table>

Ich habe mir in JSP-tags, und JSP Fragements, aber es gibt das fragment snippet ist nur bestanden aus den Anrufer JSP an den JSP-tag, und ich möchte, dass es in der gleichen Lage

Die einzige Lösung ist, um craete eine JSP-Tags für die speziellen kleinen Schnipsel (oder werden?)

Bin ich fehlt etwas sehr Grundsätzliches?

War es hilfreich?

Lösung

Wenn das kleine Stück text, den Sie wollen, an vielen stellen ist statisch ist, würde ich empfehlen, eine JSP einschließen.Allerdings, wenn der text aus der Datenbank/Flat-file/XML, würde ich empfehlen, ein benutzerdefiniertes tag.Aus dem Beispiel, das Sie angegeben haben, scheint es, als ob Sie versuchen zu Liste Produkte und deren Preis.Dies kann leicht durchgeführt benutzerdefinierte tag.

In Ihrem tag-Klasse, die Daten Lesen, erstellen Sie eine Methode, mit der Erstellung der HTML-tags für die Daten und die Rückgabe als string, drucken Sie die Zeichenfolge.Jetzt in Ihrer JSP aufrufen der benutzerdefinierten tag-überall dort, wo Sie den text.Natürlich müssen Sie parametrieren Sie den tag zu bestimmen, was zu Holen/Anzeige an welchem Ort.

HTH

V

Andere Tipps

Ich fühle deinen Schmerz @EranMedan, kann immer noch nicht glauben, dass dies kein Merkmal von JSP ist. Nach Jahren es zu wollen, habe ich hier meine eigene einfache Lösung zu tun, was Sie (und ich) wollen: https://stackoverflow.com/a/25575120/1607642

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top