• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Struts Performance-Schwäche

7bkahnt

Neues Mitglied
Hallo Leute,
ich habe folgendes Problem.
Ich lasse mittels Struts und Hibernate eine Tabelle anzeigen.
Diese hat 12.000 Datensätze. Ich lasse die Datensätze mittels Hibernate in eine Liste schreiben und werte diese dann mithilfe eines Iterators aus:
Hibernate:
List<Adr> dsliste = null;
dsliste = session.createQuery(statement).setInteger(0, f_id_lfd_struktur).list();


Struts-Aufruf:
HTML:
<div class="content">
<table class="userTable" cellpadding="5px"> 
<s:iterator value="dsList" status="adrStatus">
<tr onclick="doIt(event)" class="<s:if test="#adrStatus.odd == true ">odd</s:if><s:else>even</s:else>">
<td><s:property value="name" />
</td>
<td><s:url id="editURL" action="auswahlname">
<s:param name="idds" value="%{id_adr_adresse}"></s:param>
<s:param name="idauswahl" value="%{#adrStatus.index}"></s:param>
</s:url> 
<s:a href="%{editURL}" >Auswahl</s:a></td>
</tr>
</s:iterator>
</table>
Dieser Vorgang dauert jedoch recht lange, da mittels dem Iterator ersteinmal 12.000 <tr>´s erstellt werden müssen.
Gibt es da noch eine andere Möglichkeit, dies zu realisieren?
Oder gibt es eine Möglichkeit, zwei body´s zu erstellen und nur einen dann immer zu aktualisieren?
Weil es noch ein weiteres Performace-Problem bei mir gibt.
Ich kann nach Anzeige aller Daten dann einen Datensatz auswählen, mittels des "Auswählen"-Button. Dann wird der ausgewählte DS in unten stehende Textfelder geschrieben und verlinke zurück dann erneut auf die jsp, damit es in die Textfelder geschrieben wird.
Und genau da liegt mein Problem. Es wird also ein weiteres mal der Iterator verwendet und wieder 12.000 tr´s erzeugt. Gibt es da eine Lösung nur die Textfelder unten zu aktualisieren und den oberen Teil (die Tabelle) nicht?
Ich wäre echt dankbar für wenigstens eine Lösung bzgl. meines Problems^^
Danke schonmal mi voraus.
 
Werbung:
Du könntest darüber nachdenken, nicht 12.000 Elemente gleichzeitig anzuzeigen, sondern vielleicht eine Seitenzählung hinzuzufügen.
 
Zurück
Oben