JSP dynamische Buttons für löschen

Ich probiere es jetzt mal hier. Also früher war java-forum.org auch mal besser.:frowning:
Leider habe ich dort zu meinem Problem keine Antwort gefunden:

Ich habe die folgende jsp geschrieben und frage mich jetzt, wie man am besten die Werte aus dem Button-
Tag an die Bean übergeben könnte. Ich möchte pro Zeile, die aus einer Tabelle ausgelesen wird, einen Löschen Button generieren, der dann die jeweilige Zeile löscht.

Ich hoffe, dass ich das nicht mit javascript lösen muss!!!
Außerdem möchte ich am Besten keinerlei Funktionalität auf meiner jsp codieren müssen.
[XML]

<form name ="vereinsAusgabe" action="vereinsausgabe.jsp"><c:forEach var="clubEntrie"
	items="${clubEntryList.data}">
	<tr>
		<td align="right" bgcolor="#ffffff">${clubEntrie.id}</td>
		<td align="right" bgcolor="#ffffff">${clubEntrie.name}</td>
		<td align="right" bgcolor="#ffffff"><input type="button"
			name="${clubEntrie.id}" value="Löschen" /></td> // hier übergebe ich für jeden button       //schon die id zu der zeile
	</tr>
</c:forEach> <jsp:useBean id="deleteFromDatabase"
	class="com.handle.database.DeleteFromDatabase" /> <jsp:setProperty
	name="deleteFromDatabase" property="id" value="7c25380b-175b-4ec5-aa88-a6352440dde2" /></form>

// value ist hier hart codiert, aber wie mache ich das am besten dynamisch für die jeweilige Zeile???

ID: Name: Löschen
[/XML]

Wenn du ohne Neuladen die Zeilen löschen willst musst du meiner Meinung nach auf JS setzen.
Mit Neuladen könntest du es so machen dass du pro Zeile ein Form machst und dann mit Druck auf den Button das Element löschst.

danke eagle schon mal für EINE Antwort. Ich kann aber nicht glauben, dass JAVA an dieser Stelle am Ende ist. Das wäre echt finster, wenn ich auf 2. Liga JS zurückgreifen müsste :wink:
Hat jemand vielleicht eine andere Idee?

Naja das hat nix mit Java zu tun, das Problem ist dass dein Java auf der Seite vom Server ist und nicht auf der Seite vom Client :wink:
Vielleicht kannst du da was mit JavaFX machen :wink: aber am Ende wirds immer auf JS rauslaufen oder statisch.

Also das mit der Client Server Seite hat mich dann auf eine Idee gebracht und natürlich die Suche über google. JavaScript will ich nicht, also muss was anderes her mit Checkboxen!!!

Ich habe eine Klasse geschrieben, die das hhtpServlet erweitert und darin die von der jsp versendeten Parameter auswertet.

Notgedrungen braucht man hier für das J2EE von SUN und vor allem das javaee.jar.

FRAGE: Kann man das so machen oder ist das eher schlecht und wenn ja warum???
An den Feinheiten arbeite ich noch, es geht hier mehr so ums Prinzip.

package com.handle.request;

import java.io.IOException;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.handle.database.DeleteFromDatabase;

public class ProcessSelectionServlet extends HttpServlet
{

	/**
	 * 
	 */
	private static final long serialVersionUID = -1683085941302139106L;
	private static final String DELETE_CONFIRM_JSP = "/vereinsausgabe.jsp";

	public void doGet(HttpServletRequest req, HttpServletResponse res)
			throws ServletException, IOException
	{
		Map parameters = req.getParameterMap();
		if (parameters.containsKey("verein"))
		{
			String []bla = (String[]) parameters.get("verein");
			DeleteFromDatabase wrt = new DeleteFromDatabase();
			try
			{
				for(int i = 0; i< bla.length; i++)
				{
					wrt.deleteRow(bla[0]);
				}
				
//				
			}
			catch (Exception e)
			{
				e.printStackTrace();
			}

			getServletContext().getRequestDispatcher(
					res.encodeURL(DELETE_CONFIRM_JSP)).forward(req, res);
		}	
	}
}

Die jsp übergibt so0mit diese Parameter an diese Klasse und fertisch is die Laube :slight_smile:
[XML]
<%@ page language=„java“ contentType=„text/html; charset=ISO-8859-1“
pageEncoding=„ISO-8859-1“%>

<%@page import=„com.handle.database.ReadDatabaseEntry“%>
<%@page import=„java.util.ArrayList“%>
<%@page import=„java.util.List“%>
<%@page import=„com.entryobjects.Clubentries“%>

Liste aller Vereine

<%@ taglib prefix=„c“ uri=„http://java.sun.com/jsp/jstl/core“%>

Zurück zum index
<c:forEach var="clubEntrie" items="${clubEntryList.data}">
	<tr>
		<td align="left" bgcolor="#ffffff">${clubEntrie.id}</td>
		<td align="left" bgcolor="#ffffff">${clubEntrie.name}</td>
		<td align="left" bgcolor="#ffffff"><input type="checkbox"
			name="verein" value="${clubEntrie.id}" /></td>
	</tr>
</c:forEach>
ID: Name: Löschen

[/XML]

Der Weg ist ok, besser gehts vielleicht wenn man Spring einsetzt.

Geht es eigentlich nicht, dass man einfach (bezogen auf die initiale Frage) das Include der Bean in die “For-Schleife” reinzieht und so jedesmal die Bean mit nem neuen property includiert?

    <tr>
        <td id="idSpalte">ID:</td>
        <td id="nameSpalte">Name:</td>
        <td id="loeschenSpalte">Löschen</td>
    </tr>
    
    <form name ="vereinsAusgabe" action="vereinsausgabe.jsp"><c:forEach var="clubEntrie"
        items="${clubEntryList.data}">
        <tr>
            <td align="right" bgcolor="#ffffff">${clubEntrie.id}</td>
            <td align="right" bgcolor="#ffffff">${clubEntrie.name}</td>
            <td align="right" bgcolor="#ffffff"><input type="button"
                name="${clubEntrie.id}" value="Löschen" />
                <jsp:useBean id="deleteFromDatabase"
                     class="com.handle.database.DeleteFromDatabase" /> <jsp:setProperty
                     name="deleteFromDatabase" property="id" value="${clubEntrie.id}" />
            </td>
        </tr>

    </c:forEach> </form>

</table>```

Alternativ könnte man anstatt eines Buttons einen Hyperlink platzieren, der auf ein Servlet mit der entsprechenden Funktionalität zielt und dann in der URL zum Servlet den Parameter übergeben.

@Revenant: Das geht leider nicht, weil er dann auf Button Click jeden Button löscht…
Jo an Spring implementieren bin ich grad dran

Ach ja? :mad:

[QUOTE=MASTERmind;8888]Also das mit der Client Server Seite hat mich dann auf eine Idee gebracht und natürlich die Suche über google. JavaScript will ich nicht, also muss was anderes her mit Checkboxen!!!
[/quote]
Tolle Leistung! Darauf habe ich dich bereits 24 Stunden vorher unter java-forum.org hingewiesen!

Das ist völliger quatsch! (das ist mein letzter kostenloser Tipp für dich)

@HLX: Schweig doch einfach. Von Dir brauche ich keine Tipps. Dein unfreundlicher ton ist glaube ich wenig angemessen. Arroganz des Wissenden oder wie? Geht mir das auf den S***! In jedem Forum irgendein WichtigTuer, der meint andere Leute maßregeln zu können!

Wenn ein freundlicher Ton für Diejenigen zu viel verlangt ist, dann schweigt einfach.

Allen anderen, die nicht so Banane sind, Danke!:grr:

Crosspostings an sich sind schon unmöglich, aber in deiner Manier sind sie das allerletzte. Daher ist mein Ton durchaus auch angemessen - und ich mache sehr selten davon Gebrauch.

Du kannst dich auch gerne weiter darüber auslassen. Ich werde meine Zeit nicht weiter mit einer Diskussion mit dir verschwenden.

Alles Gute für die Zukunft.