Struts Performance-Schwäche

7bkahnt

Aktives 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:
Java:
List<Adr> dsliste = null;
dsliste = session.createQuery(statement).setInteger(0, f_id_lfd_struktur).list();


Struts-Aufruf:
Java:
<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.
 
Zuletzt bearbeitet:
G

gman

Gast
Hi,

die Lösung für das erste Problem findest du bestimmt unter dem Stichwort "Pagination". Für
das zweite Problem bietet sich ja eigentlich AJAX an. Bei ersterem kann ich dir wohl weiter
helfen. Hier ein paar kurze Tipps:

- Man kann ja bei einer SQL-Abfrage die Anzahl der zurückgegebenen Tupel einschränken
- Man kann sich auch die Ergebnisse ab einem bestimmten Index zurückgeben lassen
- Mit beidem zusammen kannst du dann seitenweise durch deine 12.000 Ergebnisse gehen

Ich hoffe das hilft dir weiter.
 

7bkahnt

Aktives Mitglied
Ja stimmt. Das ist eine gute Idee, die Seiten zu begrenzen.
Danke dir. Dadurch dürfte dann ja ebenfalls das zweite Problem erledigt sein, dass ich beim Auswählen alle Datensätze nochmals lade.(bei 20-30 Stück ist das ja kein Problem)

Weißt du zufällig, wie ich die Seitenzahlen dynamisch gestalten kann?
Ich hatte bisher immer nur statische Sachen gefunden, mit Seitenzahlen von 1-10 o.ä. .
Bei 12.000 Datensätzen könnte dies aber etwas schwer werden:)
 
G

gman

Gast
Naja, du zählst erstmal wieviele Datensätze du zurück bekommst und teilst die Zahl
durch die Anzahl der Datensätze die du auf einer Seite anzeigen willst und hast
damit die Anzahl der Seiten. Mit der Zahl kannst du dann die benötigten Links
generieren die einer Action die Seitenzahl übergeben und welche dann die Datensätze
zu der Seite zurückliefert.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Performance Struts vs Faceltes vs JSP Web Tier 9
I heutzutage Struts 1 oder 2 in der Praxis? Web Tier 4
K Struts Struts forwarded lokal auf fertige Webseite Web Tier 2
M Struts 2 - "There is no Action mapped for namespace..." - globale Lösung? Web Tier 3
S Tomcat 7, Struts, JPA baut keine Verbindung auf Web Tier 13
D Struts 2 , DIV Container mit verschiedner Farbe Web Tier 2
K Struts request Zugriff Web Tier 4
2 Anwendung mit Zuständen und Struts Web Tier 5
P Struts 2 Download Dateinamen Web Tier 2
ruutaiokwu struts 2 & jsf kombinieren Web Tier 2
D Struts und CSS Web Tier 4
7 Struts+AJAX- Session-Handling? Web Tier 2
7 Struts und Ajax. Problem mit Actions Web Tier 2
7 Struts iterator index JS-Funktion übergeben?? Web Tier 2
7 Struts: bei action immer ein Result nötig? Web Tier 2
7 Struts vom popup wieder zurück ins alte Fenster? Web Tier 2
7 statische Variablen in Struts-Tags nutzen? Web Tier 6
7 Struts Actionaufruf durch JS Web Tier 4
L Struts 2 Iterator Validation Web Tier 4
Tandibur Struts 2 - Startseite festlegen Web Tier 5
J Struts aus JSP ActionForm-Eigenschaft lesen Web Tier 5
7 Struts 2 nebeneinanderliegende Textfelder Web Tier 4
E Struts: Text in JSP aus Action heraus setzen Web Tier 4
F Struts Tabellen Web Tier 3
F Meinungsumfrage Struts / Javascript Web Tier 3
F Problem mit Struts Web Tier 2
T Json mit Struts 2 Web Tier 2
2 Blätterfunktion in Struts? Web Tier 2
S Struts - Http Port ändern Web Tier 11
L Struts JSTL Form Variable Übermitteln Web Tier 2
S GET in struts und JSF Web Tier 6
O JSP: HTML tags werden vor struts tags angezeigt Web Tier 3
L Struts Validation Error Web Tier 17
L STRUTS: javax.servlet.jsp.JspException Web Tier 3
O struts - Gültigkeit einer Action an Session binden?! Web Tier 4
N MessageResources von Struts in Form-Bean Web Tier 4
pusteblume JavaScript mit Struts auslesen? Web Tier 3
A Struts - JSP - HTML - Visualisierungsproblem Web Tier 3
M Properties der JSP nach input-result leer (Struts 2) Web Tier 2
M Zugriff aus eigenen Tags auf Struts Value Stack Web Tier 2
M Struts 2 Submit Button lokalisieren Web Tier 5
G Struts 2 Validation Web Tier 5
pusteblume Struts multibox - dynamische checkboxen Web Tier 5
G Struts 2 - Validation Frage Web Tier 5
T Action mapping Frage (Struts) Web Tier 2
J Struts 2 session ID auslesen? Web Tier 5
G Kurze Frage zu Servlets&Struts Web Tier 4
N Struts - reset, wie komme ich an das ActionMapping Web Tier 2
T In einem Struts Tag Werte mit Java einfügen Web Tier 2
B struts-blank, eclipse und tomcat6 konfigurieren Web Tier 7
O Struts Grundlagen Frage Web Tier 32
T Tabelle mit checkboxen in Struts Web Tier 19
T Button abfrage mit Struts leicht gemacht ? Web Tier 3
B Struts: html:checkbox Web Tier 2
U Problem bei Validierung mit Struts 2 Web Tier 1
A JSF und Struts unter einen Hut bringen (SingleSignOn) Web Tier 2
R Webhoster mit Struts Web Tier 13
S Struts: Validierung mit mask Web Tier 2
G radio button deselect mit struts Web Tier 7
J Performance einer Webanwendung Web Tier 2
S Performance JSF Web Tier 9
M Performance von Web-Frameworks Web Tier 23
J Web-Seiten Performance Web Tier 5

Ähnliche Java Themen

Neue Themen


Oben