Eingebettetes benutzerdefiniertes Tag in dynamischem Inhalt (verschachteltes Tag) wird nicht gerendert.Eingebettetes benutzerdefiniertes Tag in dynamischem Inhalt (verschachteltes Tag), das nicht rendert
Ich habe eine Seite, die dynamischen Inhalt aus einem Javabean zieht und die Liste der Objekte an ein benutzerdefiniertes Tag zur Verarbeitung in HTML übergibt. Innerhalb jedes Objekts wird eine Menge HTML ausgegeben, die ein zweites benutzerdefiniertes Tag enthält, das auch gerendert werden soll. Das Problem besteht darin, dass der Tag-Aufruf als Klartext wiedergegeben wird.
Ein Beispiel könnte mir besser dienen.
1 Ziehen Sie Informationen aus einer Datenbank und geben Sie sie über eine Javabean an die Seite zurück. Senden Sie diese Informationen zur Ausgabe an ein benutzerdefiniertes Tag.
<jsp:useBean id="ImportantNoticeBean" scope="page" class="com.mysite.beans.ImportantNoticeProcessBean"/> <%-- Declare the bean --%>
<c:forEach var="noticeBean" items="${ImportantNoticeBean.importantNotices}"> <%-- Get the info --%>
<mysite:notice importantNotice="${noticeBean}"/> <%-- give it to the tag for processing --%>
</c:forEach>
diesen Tag ausgeben soll ein Kasten div wie so
*SNIP* class for custom tag def and method setup etc
out.println("<div class=\"importantNotice\">");
out.println(" " + importantNotice.getMessage());
out.println(" <div class=\"importantnoticedates\">Posted: " + importantNotice.getDateFrom() + " End: " + importantNotice.getDateTo()</div>");
out.println(" <div class=\"noticeAuthor\">- " + importantNotice.getAuthor() + "</div>");
out.println("</div>");
*SNIP*
Dies macht feines und erwartete als
<div class="importantNotice">
<p>This is a very important message. Everyone should pay attenton to it.</p>
<div class="importantnoticedates">Posted: 2008-09-08 End: 2008-09-08</div>
<div class="noticeAuthor">- The author</div>
</div>
2 Wenn in dem obigen Beispiel, zum Beispiel, ich war zu have ein benutzerdefiniertes Tag in der withoutNotice.getMessage() String:
*SNIP* "This is a very important message. Everyone should pay attenton to it. <mysite:quote author="Some Guy">Quote this</mysite:quote>" *SNIP*
Der wichtige Hinweis wird gut dargestellt, aber das Zitat-Tag wird nicht verarbeitet und einfach in die Zeichenfolge eingefügt und als einfacher Text/HTML-Tag eingefügt.
<div class="importantNotice">
<p>This is a very important message. Everyone should pay attenton to it. <mysite:quote author="Some Guy">Quote this</mysite:quote></p>
<div class="importantnoticedates">Posted: 2008-09-08 End: 2008-09-08</div>
<div class="noticeAuthor">- The author</div>
</div>
Statt
<div class="importantNotice">
<p>This is a very important message. Everyone should pay attenton to it. <div class="quote">Quote this <span class="authorofquote">Some Guy</span></div></p> // or wahtever I choose as the output
<div class="importantnoticedates">Posted: 2008-09-08 End: 2008-09-08</div>
<div class="noticeAuthor">- The author</div>
</div>
Ich weiß, das mit Prozessoren und Pre-Prozessoren zu tun hat, aber ich bin nicht darüber sicher, wie diese Arbeit zu machen.