JSP übergeben von id + namen

Franklin

Mitglied
Hallo erstmal :D,

Ich habe mal eine Frage bezüglich dieser Zeilen hier:


Java:
                    Maschine: <%-- maschinen auswahl --%>
                    <select name="Maschine">

                    <%
                                List<Maschine> maschine = worker.getMaschine();
                                for (Maschine ma : maschine) {
                    %>
                    
                    // einbinden der Listenelemente in die selectbox
                    <option value="<%=ma.getMasch_nr()%>">
                        <%=ma.getMasch_bez()%>
                    </option>
                    <%
                                }
                    %>

So, bis hierher ist alle klar, einfach auslesen aus der DB und dann einbinden...
Ich übergebe die Werte nun in eine zweite JSP, wo diese angezeigt werden müssen.
Leider wird nur die ID der jeweiligen Maschine übernommen, hier möchte ich aber den Namen der stehene haben...

JSP 2:
Java:
        <p>
            <%
                        String maschweiter = request.getParameter("Maschine");        
            %>
            Maschine: <%=maschweiter%>
        </p>

Wie kann ich zusätzlich zur ID den Maschinennamen angeben?
Danke schonmal :)
 
Zuletzt bearbeitet:

ARadauer

Top Contributor
gar nicht, value wird übertragen...

Also du gehst ja wieder zum Server, da würde ich dann anhand der Id die aktuelle maschine laden und in den request setzen...

Oder wie machst du das rufst du einfach die jsp auf? Du hast ja sicher irgendwo einen Mechanismus wo du anhand der id die Maschine laden kannst..
 

Franklin

Mitglied
Ja hier lese ich die Maschinen aus:

Java:
    public List<Maschine> getMaschine() {
        List<Maschine> malist = new ArrayList<Maschine>();
        if (con != null) {
            try {
                Statement stmt;
                stmt = con.createStatement();
                ResultSet rs = stmt.executeQuery("select * from maschine");
                while (rs.next()) {

                    Maschine ma = new Maschine();
                    ma.setMasch_nr(rs.getInt(1));
                    ma.setMasch_bez(rs.getString(2));

                    // System.out.println("Mitarbeiter:" + rs1.getInt(1) + "/" + rs1.getString(3) + " " + rs1.getString(2));

                    malist.add(ma);

                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
        return malist;
    }

also einfach über die id die maschine laden?
kann ich nicht einfach den wert übernehmen aus der vorigen JSP?
 

Franklin

Mitglied
Ich will nur den ausgewähkten Wert der ersten JSP in die zweite übergeben,
mir wird aber nur die ID geliefert, weis aber nicht warum. :)
 

brauner1990

Bekanntes Mitglied
Code:
<option value="<%=ma.getMasch_nr()%>">
    <%=ma.getMasch_bez()%>
</option>

das ist doch der Code von oben...und wenn du anstatt value die nr, sondern die bzw reinschreibst ist doch alles klar. oder eine kombination aus beiden
 

Franklin

Mitglied
Hiebei habe ich aber das Problem, dass der value in der nächsten JSP verwendet wird, um weitere Selectboxen befüllen zu können, die aus der id der maschine resultieren....

Ich kann also keine Strings in den value schreiben, da ich sonst einen error provoziere....
kann ich die maschine nicht irgendwie anders übergeben?
Seperat oder so?
 

Franklin

Mitglied
Um meinen Maschinenbereich auszugeben, hole ich mir die id der Maschine und lese dann aus der DB

2te JSP:
Java:
<p>
            <%
                        
                        String maschweiter = request.getParameter("Maschine");
                        
            %>

//Hier soll der Name der Maschine stehen, es steht aber nur die ID 
____________________________________
            Maschine: <%= maschweiter %>
____________________________________
        </p>

die join, in der javaklasse:
so wird der Maschinenbereich der Maschine zugewiesen...
Java:
public List<MaschinenBereich> getMaschinen_bereich(int maschnr) {
        List<MaschinenBereich> maberlist = new ArrayList<MaschinenBereich>();
        String sql = "";
        if (maschnr > 0){
             sql = "select mb.* from maschinen_bereich mb, trans_masch_bereich tmb where mb.maschber_nr=tmb.maschber_nr and tmb.masch_nr="+maschnr;
        }else{
            sql = "select * from maschinen_bereich";
        }
if (con != null) {
            try {
                Statement stmt;
                stmt = con.createStatement();
                ResultSet rs = stmt.executeQuery(sql);
                while (rs.next()) {

                    MaschinenBereich maber = new MaschinenBereich();
                    maber.setMaschber_nr(rs.getInt(1));
                    maber.setMaschber_bez(rs.getString(2));

                    maberlist.add(maber);

                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
        return maberlist;
    }
 
Zuletzt bearbeitet:

Franklin

Mitglied
Mir is grade was eingefallen...
Meine ganzen Maschinen werden in der URL übergeben.
Kann ich nicht einfach aus der URL den Maschinenwert auslesen, der der ID entspricht?

Bsp aus der URL:

Maschine{masch_nr%3D2%2C+masch_bez%3DFüller+1}%2C

Maschine= Füller;
Maschinennummer = 2

Geht das so?
 

brauner1990

Bekanntes Mitglied
Um meinen Maschinenbereich auszugeben, hole ich mir die id der Maschine und lese dann aus der DB

2te JSP:
Java:
<p>
            <%
                        
                        String maschweiter = request.getParameter("Maschine");
                        
            %>

//Hier soll der Name der Maschine stehen, es steht aber nur die ID 
____________________________________
            Maschine: <%= maschweiter %>
____________________________________
        </p>
Hier kann durch den Geter aus dem Request nur die ID bekommen werden, wobei wenn die ID auch den Namen enthält, nach dem "Maschine:" der Name statt die ID stehen wird. Oder du musst vorher noch ne DB Abfrage machen mithilfe der ID.


Ich habe das jetzt ja richtig verstanden, dein Quellcode ist nur für die Liste zuständig, und mit dem Dingen wird nicht wirklich Weitergearbeitet, ausgenommen der Anzeige auf der JSP.
 

Franklin

Mitglied
Ich habe, um JavaScript zu vermeiden, mehrere JSPs gemacht, und übergebe immer Werte von der ersten auf die zweite, zweite- 3te usw....

1te Seite:
auslesen der Mitarbeiter + zugehörigen Passwort

2te Seite:
Mitarbeiter wird aus der ersten Seite übernommen,
Auswahl der Maschine

3te Seite:
Mitarbeiter übernommen aus jsp1
Maschine übernommen aus jsp2 (leider nur ID)
Maschinenbereich je nach Maschine in SelectBox

weitere eingabefelder auf der 3ten JSP,

In der ersten Seite, also meine jsp1 gibt es keine maschinenbereiche...
Diese befinden sich auf der jsp2...

du meinst wschl das hier:
Java:
<%
                            List<MaschinenBereich> mb = dm.getMaschinen_bereich(Integer.parseInt(maschweiter));

                            for (MaschinenBereich mab : mb) {
                %>

                <option value="<%= mab.getMaschber_nr()%>">

                    <%= mab.getMaschber_bez()%>

                    
                </option>
                <%
                            }                          
                %>
 
Zuletzt bearbeitet:

Franklin

Mitglied
Also....
Der Maschinenbereich ist je nach Maschine unterschiedlich
Die Relationen dazu befinden sich in meiner Access DB, aus der auch die ganze Zeit gelesen wird...
Die Maschinenbereiche werden je nach Maschine geladen...

Ich hoffe das war verständlich :)
 

Ähnliche Java Themen

Neue Themen


Oben