JSP Auf button click java methode ausführen.Ist das möglich?

Dimax

Top Contributor
Hallo Kollegen,
seit ein paar Tagen suche ich nach einer Lösung die mir ermöglicht auf html-button klick eine java Methode ausführen die ich vorher importiert habe. Ist das möglich ? oder muss man andere Programmiersprachen mit reinziehen?
Ausschnitte aus meiner seite
Java:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ page import="methoden.*"%>
<table align=center>
<tr>
<td valign="top"><button onclick="TreeMenu.show_all(document.getElementById('auswahl'))">Show All</button></td>
<td valign="top"><button onclick="TreeMenu.hide_all(document.getElementById('auswahl'))">Hide All</button></td>
</tr>
</table>
<div class="menu">
<%
    String[][] Projekte = AuswahlAusMYSQL.ErmittlungDerProjekte();
    String[] Projekt_IDs = new String[Projekte.length];
%>
<ul id="auswahl">
<li>Projekte
<ul><--hier muss ich den button erstellen der eine java Methode aus methoden package aufruft

Vielen Dank für jede Hilfe
 
Aus meiner Erfahrung :wenn es nach ein Paar Stunden nach der Fragestellung keine Kommentare gibt,heißt :entweder blöde Frage oder Falsch gestellt)
 
Es gibt da eine Lösung die für diesen Fall aber nicht passt,weil ich mehrere Tabellen habe die entweder ausgeblendet werden sollen oder nicht.
Java:
Man erstellt Button der beim klick per post aktion schickt
<form action="ZielSeite.jsp?aktion=ButtonClicked" method="post">
<input type="submit" value="Daten speichern"/>
</form>

Und dann bei der ZielSeite wird überprüft ob der Button geklickt wurde

Java:
davor blabla usw.
<%
String aktion=new String();
aktion=request.getParameter("aktion");

if(aktion.equalsIgnoreCase("dontSaved")){
    System.out.println("müssen speichern");
}else if(aktion.equalsIgnoreCase("ButtonClicked")){
   // Hier kann man methode aufrufen" gespeichert!");
    }else{
    out.println("Fehler passiert");
    }
}
%>
Leider wie gesagt für mich past es nicht weil ich darf die Aktuelle Seite nicht neue laden (
 
Probiers mal mit JavaScript.
)) klingt ja verwirrend .Ich muss ein button (der mit Jawa Diagramme zeigt) unterhalb jeder Tabelle platzieren die normalerweise ausgeblendet sind und wenn ich Seite neue lade werden die Tabellen ausgeblendet.
wie würde es assehen mit JavaScript?..hate bis jetzt nicht viel damit zutun
 
Ich muss ein button (der mit Jawa Diagramme zeigt) unterhalb jeder Tabelle platzieren die normalerweise ausgeblendet sind und wenn ich Seite neue lade werden die Tabellen ausgeblendet.
DAS klingt verwirrend 🙂

Wie das in JavaScript aussehen würde? Mal ein einfaches Beispiel:
HTML:
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <title>Titel</title>
</head>
<body>
  <div id="EinTeilDerSeite">
      Dieser Teil wird normalerweise angezeigt.
  </div>
  <button id="ausblender">Ausblenden</button>

  <script>
    document.querySelector("#ausblender").addEventListener('click',
            function() {
        fetch("#").then(function(r) {
            console.log(r);
            toggle(document.querySelector("#EinTeilDerSeite"));
        });
    });

    function toggle(e) {
        e.style.display = (e.style.display === 'none' ? 'block' : 'none');
    }
  </script>
</body>
</html>
Das "#" in fetch müsste man durch die richtige URL ersetzen, außerdem brauchst Du einen POST-Request. Wie das funktioniert steht unter https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch.

Der Code gehört sich natürlich ausgelagert und schön gemacht.
 

Zurück
Oben