Announcement

Collapse
No announcement yet.

ArrayList Elemente ueber toString in HTML formatieren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ArrayList Elemente ueber toString in HTML formatieren

    Hallo an alle!
    Ich hab nun ne wirklich daemliche Frage, aber irgendwie komm ich nicht so recht weiter...

    Ich entwickle Web-Applikationen nach Modell 2 und die verwendeten Action Classes koennen ueber eine Methode der Superklasse Attribute in den Request hinzufuegen. Hintergrund ist, dass ich nicht jedes Mal pruefen will, ob ich eventuell einen Wert ueberschreibe.
    Die Methode der Superklasse verwendet eine von ArrayList abgeleitete Klasse, bei der nur die Methode toString ueberschreibt. Die Methode toString soll nur den Inhalt der ArrayList formatiert in HTML liefern... aber das funzt nicht!!! Weiss jemand, wie man das schnell implementieren kann???

    Danke, Bav

  • #2
    Hallo Bav,
    ich hab nicht so ganz verstanden, was Du willst. Aber vielleicht hilfts trotzdem. Benutze den <logic:iterate>-Tag, um über die ArrayList zu iterieren. Die Beans, die Du bei jeder Iteration aus der ArrayList erhälst kannst Du mittels <bean:write> visualisieren. Wenn Du im Logic-Iterate Tag im type-Attribut den voll qualifizierten Klassennamen der Elemente angibst, kannst Du auf sämtliche public-Methoden der Elemente zugreifen. Die Methode toString() für irgend eine Art von Visualisierung zu nutzen ist richtig richtig schlecht. Die Methode ist für Debugging-Zwecke gedach
    http://www.winfonet.eu

    Comment


    • #3
      Hallo!
      <BR>
      Ich hab mein Problem tatsaechlich nicht richtig geschildert! Also noch einmal: Die Klassen in meinen Actions verwenden eine Methode der Basisklasse, um dem Request Attribute hinzuzufuegen (void addRequestMessage( HttpServletRequest, String attribute, String message ). Die Methode verhindert, dass bereits vorhandene Attribute mit dem uebergebenen Namen ueberschrieben werden und verwaltet jedes Attribut in einem Objekt vom Typ HtmlStringCollection. So weit so gut...<BR>
      Probleme bereitet mir die Klasse HtmlStringCollection: Diese ist von StringCollection (ne Wrapper-Klasse, die die Methoden von ArrayList an den Typ String angleicht) abgeleitet, wobei nur die Methode toString ueberschrieben wird. Der Grund ist, dass meine JSP nicht wissen muessen soll, welcher Typ sich hinter einem Objekt verbirgt und deshalb HtmlStringCollection seine Werte in HTML ausgibt. Beispielsweise... also die Source:
      &lt;LI&gt;item 0&lt;/LI&gt;
      &lt;LI&gt;item 1&lt;/LI&gt;
      &lt;LI&gt;item 2&lt;/LI&gt;
      <BR>
      Irgendwie gibt er mir das aber nicht als Tags sondern die Sonderzeichen aus!
      <BR>
      Danke, Ba

      Comment


      • #4
        Ich glaub jetzt hab ichs begriffen. Die StringCollection gib also einen großen String aus, in dem alle ihre Elemente dargestellt werden. HTMLStringCollection erweitert dieses Verhalten und packt um jedes Element die li-Tags. Und das doove ist jetzt, dass der Browser die nicht als liste anzeigt, sondern den html-Quelltext. Meintest Du das? Falls ja, abgesehen davon, dass ich das Vorgehen für nicht gut halte, nimm für die Ausgabe nicht die Struts-Tags. Die maskieren die html-Zeichen nämlich automatisch. mit dem ganz normalen jsp-Tag jsp:getProperty müsste es funktionieren
        http://www.winfonet.eu

        Comment

        Working...
        X