Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法刷新页面并在jsp页面上保留所选值_Javascript_Jquery_Jsp - Fatal编程技术网

Javascript 无法刷新页面并在jsp页面上保留所选值

Javascript 无法刷新页面并在jsp页面上保留所选值,javascript,jquery,jsp,Javascript,Jquery,Jsp,以下是我的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.Obi

以下是我的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的所有终端。你能帮我吗?

首先,把你的选择放在表格里。因此,当您在刷新期间提交它时,您可以使用selectedObiekt=request.getParameterobiekt字符串获取它所持有的值。然后将选项修改为

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

你考虑过了吗?不,我没有。我更喜欢javascript。您需要保留客户端的状态。为此,您需要使用cookie、localStorage或querystring参数?无论如何,eclipse调用syntax error insert来完成Expressioni已经编辑了我的文章。最后一个括号丢失了。有一个问题,因为idObiekt是整数类型。据我所知,integer是基本类型,所以我不能使用.equals子句,可以吗?我没有错误,但我的表中在这个select表单下面仍然没有任何行。我觉得课堂上有些不对劲。谢谢你,好的。过来看。如果你想不出来,你可以回来告诉我你有什么。你肯定会得到帮助的。