JSP STRUCT Elemente in HTML Tabelle

  • Themenstarter Themenstarter Swie91
  • Beginndatum Beginndatum
S

Swie91

Gast
Hallo User,
ich hoffe ihr könnt mir weiter helfen. ich schreibe momentan zu meiner Java Web Applikation eine Benutzerverwaltung, daher habe ich eine Tabelle mit den Benutzer, ob er Aktiviert ist und einen Button um diesen zu bearbeiten/löschen.

Java:
<table border="2">
	<thead>
		<tr>
			<th id="data" class="queuemanager">UserID</th>
			<th id="data" class="queue">Aktive</th>
			<th id="data" class="queue">Bearbeiten</th>
		</tr>
	</thead>
	<tbody>
		<tr>
		<s:form action="register" method="post" onsubmit="showLoading()">
			<td><s:textfield name="EditUSERID"  value="%{EditUSERID}" label="UserID" /></td>
			<td><s:checkbox label="Aktiv" name="EditAKTIV" value="aBoolean" fieldValue="true"/></td>
			<td><s:submit value="Register" property="Register" /></td>
		</s:form>
		</tr>
		<s:iterator value="UserList" status="rowstatus">
			<s:form action="EditUser" method="post" onsubmit="showLoading()">
			<s:hidden name="EditUSERID" value="%{userId}") />
			<tr <s:if test="#rowstatus.odd">class="hinterlegt_hell"</s:if><s:else>class="hinterlegt_dunkel"</s:else>>
				<td id="data" class="left"><s:property value="%{userId}"/></td>
				<td id="data" class="left"><s:property value="%{aktiv}"/></td>
				<td id="data" class="left"><s:submit value="Edit" property="Edit" /></td>
			</tr>
			</s:form>
	</s:iterator>
	</tbody>
</table>

Jedoch wird dies nicht wie gewünscht dargestellt, siehe Abbildung:
j8fg3gfx.jpg


Ich danke euch schonmal für eure Hilfe.
 
Zuletzt bearbeitet von einem Moderator:
mächtig seltsamer Fehler, gleich gesehen und lieber für andere offen gelassen, nun wage ich mich mit einfachen Mittel hinein:
wie sieht das erzeugte HTML dieser komischen verbuggten Ansicht aus?

der einzige Strohhalm, den ich allgemein als schöne Erklärung habe, wäre einmal mehr Verwendung einer falschen Version,
ändere einen Buchstaben, statt Bearbeiten z.B. Wearbeiten,
erscheint die komische Seite mit dem neuen Wort? dann wäre es tatsächlich trotz augenscheinlich gutem Code so,
wenn aber immer noch Bearbeiten erscheint, dann offensichtlich die neueste Änderung nicht berücksichtigt, vorherige dann vielleicht auch nicht,
Cache oder ähnlich komisches, Webserver neu starten, URL der Seite testweise ändern?

falls es beim Fehler bleibt, dann zumindest zur Fehlersuche:
fange mit einer korrekten reinen HTML-Tabelle an
HTML Tables

baue vielleicht noch mit reinen HTML-Tags ein form zusammen
HTML:
<table border="2">
    <thead>
        <tr>
            <th id="data" class="queuemanager">UserID</th>
            <th id="data" class="queue">Aktive</th>
            <th id="data" class="queue">Bearbeiten</th>
        </tr>
    </thead>
    <tbody>
        <tr>
        <form ... > [gekürzt, sonst kann ich kein Posting abschicken ;) ]
            <td><input name="EditUSERID"  value="%{EditUSERID}" label="UserID" /></td>
            <td><select name="top5" size="3">
			  <option>Heino</option>
			  <option>Michael Jackson</option>
			  <option>Tom Waits</option>
			  <option>Nina Hagen</option>
			  <option>Marianne Rosenberg</option>
			</select></td>
            <td><input type="submit" value=" Absenden "></td>
        </form>
        </tr>
    </tbody>
</table>
hatte ich schon versucht 😉

kann man doch sicherlich auch in deine Webserver-gesteuerte wasauchimmer-Seite so hineinsetzen,
Anzeige ok? dann immer weiter verändern, statt form-HTML s:form einsetzen, dann die Felder der Reihe nach tauschen

wenn die erste Zeile ok bleibt, dann die zweite langsam aufbauen,
ab welchem Punkt geht es kaputt?
 
Das ist der Seiten Quelltext der mir angezeigt wird, also der sagt eine Form ist immer eine Eigene Tabelle... Ich verzweifel hier noch.

Java:
<table border="2">
	<thead>
		<tr>
			<th id="data" class="queuemanager">UserID</th>
			<th id="data" class="queue">Aktive</th>
			<th id="data" class="queue">Bearbeiten</th>
		</tr>
	</thead>
	<tbody>
		<tr>
									        
<form id="register" name="register" onsubmit="showLoading()" action="/EAI-Monitoring/register.action" method="post">
<table class="wwFormTable">
										<td><tr>
    <td class="tdLabel"></td>
    <td
><input type="text" name="EditUSERID" value="" id="register_EditUSERID"/></td>
</tr>
</td>
										<td><tr>
	<td valign="top" align="right">
    </td>
    <td valign="top" align="left">

<input type="checkbox" name="EditAKTIV" value="true" id="register_EditAKTIV"/>
<input type="hidden" id="__checkbox_register_EditAKTIV" name="__checkbox_EditAKTIV" value="true" />  <label for="register_EditAKTIV" class="checkboxLabel">Aktiv</label> </td>
</tr>

</td>
										<td><tr>
    <td colspan="2"><div align="right"><input type="submit" id="register_0" value="Register" property="Register"/>
</div></td>
</tr>
</td>
</table></form>




		</tr>
									
									        
<form id="EditUser" name="EditUser" onsubmit="showLoading()" action="/EAI-Monitoring/EditUser.action" method="post">
<table class="wwFormTable">
										<input type="hidden" name="EditUSERID" value="HAHAHA" id="EditUser_EditUSERID"/>
										<tr class="hinterlegt_hell">
											<td id="data" class="left">HAHAHA</td>
											<td id="data" class="left">false</td>
											<td id="data" class="left"><tr>
    <td colspan="2"><div align="right"><input type="submit" id="EditUser_0" value="Edit" property="Edit"/>
</div></td>
</tr>
</td>
										</tr>
									</table></form>


<form id="EditUser" name="EditUser" onsubmit="showLoading()" action="/EAI-Monitoring/EditUser.action" method="post">
<table class="wwFormTable">
										<input type="hidden" name="EditUSERID" value="TESTUS" id="EditUser_EditUSERID"/>
										<tr class="hinterlegt_dunkel">
											<td id="data" class="left">TESTUS</td>
											<td id="data" class="left">true</td>
											<td id="data" class="left"><tr>
    <td colspan="2"><div align="right"><input type="submit" id="EditUser_0" value="Edit" property="Edit"/>
</div></td>
</tr>
</td>
										</tr>
									</table></form>




									
	</tbody>
</table>
 
mit wwFormTable, offensichlicht automatisch erstellt, kommt ein guter Suchbegriff,
da habe ich ja für Fortschritt geschaffen 😉

mit Suche '<table class="wwFormTable">' kommt man zu
Struts2 table annoyance JT Dev
und anderen Seiten,

ob wirklich mit Lösungen ist nicht gesagt, aber mehr kann man hier kaum schaffen als solche Spezialartikel

----

soll STRUCT im Titel mit Struts/ Struts2 zu tun haben?
 
Zuletzt bearbeitet von einem Moderator:
Jop war ein Tippfehler von mir, weil ich nur Gast bin konnte ich es nicht mehr ändern.

Habe gerade Probleme mit dem Testserver, sobald diese behoben sind werde ich es mal testen und ein statement geben.
 
ach ja, ich kann ja gar nicht den Titel ändern wenn ich nicht auch dort form mit JavaScript oder so entferne,
sonst hätte ich 'Hilfe!' schon längst enfernt 😉 , bitte auf solche Füllwörter verzichten, bleibt mir als Ermahnung
 
tut mir leid war keine absicht... hätte es auch schon geändert aber wie gesagt geht leider nicht.

Musste jetzt jetzt auf eine unschöne weiße machen:
HTML:
<table border="2">
	<thead>
		<tr>
			<th id="data" class="queuemanager">UserID</th>
			<th id="data" class="queue">Aktive</th>
			<th id="data" class="queue">Bearbeiten</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
			<s:form action="register" method="post" onsubmit="showLoading()">
			<s:textfield name="EditUSERID"  value="%{EditUSERID}" /></table></td>
			<td><table><s:checkbox label="Aktive" name="EditAKTIV" value="aBoolean" fieldValue="true"/></table></td>
			<td><table><s:submit value="Register" property="Register" /></s:form></td>
		</tr>
	<s:iterator value="UserList" status="rowstatus">
		<tr <s:if test="#rowstatus.odd">class="hinterlegt_hell"</s:if><s:else>class="hinterlegt_dunkel"</s:else>>
			<td id="data" class="left"><s:form action="EditUser" method="post" onsubmit="showLoading()"><s:hidden name="EditUSERID" value="%{userId}") /><tr><td><s:property value="%{userId}"/></td></tr></table></td>
			<td id="data" class="left"><table><td><tr><s:property value="%{aktiv}"/></td></tr></table></td>
			<td id="data" class="left"><table><s:submit value="Edit" property="Edit" /></s:form></td>
		</tr>					
	</s:iterator>
	</tbody>
</table>

Ich werde trotzdem ausschau nach einer anderen Lösung suchen, jedoch muss ich schnell weiter kommen um etwas vorzeigen zu können.

Ich danke euch trotzdem für eure Hilfe.
 
~


Mir fiele beim Betrachten des Codes ein, <form> um <table> zu legen und
nicht irgendwo mittenrein zwischen <tr> und <td>.

Wenn mehrere Formulare benötigt werden, kann man die natürlich auch in die Tabellenzellen (<td>) packen. Die Hidden-Felder gehören wiederum in die (jeweilige) <form> und damit ebenfalls in die Tabellenzellen.
 

Zurück
Oben