这是我的jsp页面代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%@ page import="test.Obiekt"%>
<%@ page import="test.ListaObiektow"%>
<%@ page import="test.Termin"%>
<%@ page import="test.ListaTerminow"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>menu główne</title>

<meta name="viewport" content="initial-scale=1, maximum-scale=1">


<meta name="android-mobile-web-app-capable" content="yes">
<meta name="android-mobile-web-app-status-bar-style" content="black">

<link href="css/ratchet.css" rel="stylesheet">
<link href="css/ratchet-theme-android.css" rel="stylesheet">


<script src="js/ratchet.js"></script>
<script type="text/javascript">
function Refresh(idObiekt){
    location.href="pilkaNozna.jsp?idObiekt=" + idObiekt;
    }
</script>
</head>
<body>
    </br>
    </br>
    </br>
    <header class="bar bar-nav">
        <a class="icon icon-left-nav pull-left" href="wyszukaj.jsp"></a>
        <h1 class="title">Wybierz obiekt</h1>
    </header>

    <div id="content">
        <div class="tabelawybor">

            <b>Wybierz obiekt:</b>
            <%
                ArrayList<Obiekt> list = new ListaObiektow().getObiekty();
            %>
            <form name="obiekt">
                <select name="obiekt" onChange="Refresh(this.value)">

                    <%
                    for (Obiekt obiekt : list) {
                        String selectedObiekt = request.getParameter("obiekt");
                %>
                    <option value="<%=obiekt.idObiekt%>"
                        <%= ((Integer.toString(obiekt.idObiekt)).equals(selectedObiekt))?"selected":""%>><%=obiekt.nazwa%>
                        <%=obiekt.adres%></option>
                    <%
                    int idObiekt = obiekt.idObiekt;
                        request.setAttribute("idObiekt", idObiekt);

                %>
                    <%
                    }
                %>

                </select>
            </form>
        </div>

        <div class="tabelawybor">
            <td><b>Wpisz liczbę uczestników:</b><input type="text"
                name="uczest" /></td>
        </div>

        <div class="tabelawybor">
            <table class="center">

                <tr>
                    <td>Nazwa obiektu:</td>
                    <td>Data:</td>
                    <td>Godzina</br> rozpoczęcia:
                    </td>
                    <td>Godzina</br> zakończenia:
                    </td>
                    <td></td>
                </tr>
                <%
                    ArrayList<Termin> lista = new ListaTerminow().getTerminy();
                    for (Termin termin : lista) {
                %>
                <tr>
                    <td><%=termin.nazwaObiektu%> <%=termin.adresObiektu%></td>
                    <td><%=termin.dzien%></td>
                    <td><%=termin.odKtorej%></td>
                    <td><%=termin.doKtorej%></td>
                    <td><form action="Rezerwuj" method="post">
                            <button class="btn btn-primary">Zarezerwuj</button>
                        </form></td>
                </tr>
                <%
                    }
                %>
            </table>
        </div>
    </div>


</body>
</html>


ListaTerminow.java

package test;

import test.ConnectionClass;
import test.ListaObiektow;
import test.Obiekt;

import java.io.IOException;
import java.sql.*;
import java.util.ArrayList;

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

import test.ListaObiektow;
public class ListaTerminow {
    Connection conn;
    int idObiekt;
    public ListaTerminow() throws SQLException
    {
        conn = ConnectionClass.Polacz();
    }


    public ArrayList<Termin> getTerminy() throws SQLException, ClassNotFoundException
    {
        ArrayList<Termin> terminy = new ArrayList<Termin>();


        ResultSet rs = null;

        String query = "SELECT obiekty.nazwa,obiekty.adres, termin.dzien, termin.odKtorej, termin.doKtorej FROM termin LEFT JOIN obiekty ON termin.idObiekt = obiekty.idObiekt WHERE termin.czyZajety = false AND obiekty.idObiekt = ?";
        PreparedStatement ps = conn.prepareStatement(query);

        ps.setLong(1, idObiekt);
        rs = ps.executeQuery();



        while(rs.next())
        {
            Termin termin = new Termin();

            termin.setNazwaObiektu(rs.getString(1));
            termin.setAdresObiektu(rs.getString(2));
            termin.setDzien(rs.getDate(3));
            termin.setOdKtorej(rs.getString(4));
            termin.setDoKtorej(rs.getString(5));
            terminy.add(termin);
        }
        return terminy;
    }
}


我发现解决方案可以刷新并从选择表单中选择选项后记住价值。但是现在,我想在下面的选择表格中显示所有“术语”。例如:当我以选择形式(obiekt.idObiekt = 1)选择第一个选项时,我想显示ID为1的obiekt的所有术语。你能帮助我吗 ?

最佳答案

首先,将您的选择放入表单中。这样,当您在刷新期间提交它时,可以使用String selectedObiekt = request.getParameter(“ obiekt”)获得它持有的值。然后修改您的选项以阅读

<option value="<%=obiekt.idObiekt%>" <%= ((Integer.toString(obiekt.idObiekt)).equals(selectedObiekt))?"selected":""%>><%=obiekt.nazwa%>
                    <%=obiekt.adres%></option>

08-25 07:09