java - 如何将输入文本的值传递给jsp变量?

标签 java mysql 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.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>

  </head>
  <body>
  <!-- <header class="bar bar-nav">
  <a class="icon icon-left-nav pull-left" href="wyszukaj.html"></a>
  <h1 class="title">Wybierz obiekt</h1>
</header> -->

<div id="content">
   <%
List<Obiekt> list = new ListaObiektow().getObiekty();
%>
<select name="obiekt">
        <option selected value="default">Wybierz Obiekt</option>
        <%
            for (Obiekt obiekt : list) {
        %>
        <option value="<%=obiekt.idObiekt %>"><%=obiekt.nazwa%> <%=obiekt.adres %></option>
        <%
            }
        %>
        <%

        %>
</select> 
<br><br>
<form name="rezerwuj">
    <font color="white">Liczba uczestników</font><input type="text" name="uczest"/>
    <%
        int liczbaUczestnikow = Integer.parseInt(request.getParameter("uczest"));
    %>
</form>    
<br>
<br>
<%List<Termin> lista = new ListaTerminow().getTerminy(); %>
<div id="terminy">
<table>

    <%for (Termin termin : lista) {%>
    <tr>
    <td><%=termin.idTermin %></td>
    <td><%=termin.nazwaObiektu %> <%=termin.adresObiektu %> </td>
    <td><%=termin.dzien %> </td>
    <td><%=termin.odKtorej %> </td>
    <td><%=termin.doKtorej %> </td>
    <td><form action="Zarezerwuj" method="post"><input type="submit" value="Rezerwuj"></form></td>
    </tr>
    <% } %>

</table>
</div>
<br><br><br>

</div>


  </body>
</html>

我想从 <input type="text" name="uczest"/> 中获取值并记住她的提交按钮,该按钮调用放置在此类中的 mysql 查询:

package test;

import java.io.IOException;

import test.Rezerwacja;

import java.sql.*;

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

import test.ConnectionClass;;
/**
 * Servlet implementation class Zarezerwuj
 */
@WebServlet("/Zarezerwuj")
public class Zarezerwuj extends HttpServlet {
    private static final long serialVersionUID = 1L;
    Connection conn; 

    public Zarezerwuj() {
        super();
        conn = ConnectionClass.Polacz();
    }


    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }


    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        int liczbaUczestnikow = Integer.parseInt(request.getParameter("liczbaUczestnikow"));
        int idTermin = Integer.parseInt(request.getParameter("idTermin"));
        Statement st = null;
        String sql = "INSERT INTO rezerwacje (liczbaUczestnikow,idTermin) values ('" + liczbaUczestnikow + "','" + idTermin + "')";
        try
        {
            st = conn.createStatement();
        }
        catch(SQLException e)
        {
            System.out.println(e);
        }
    }

}

我还想通过<td><%=termin.idTermin %></td> termin.idTermin 到 Zarezerwuj servlet。

我已经通过服务器调用 Jesper Null Exception 尝试了 request.getParameter。我不知道现在该怎么办。

最佳答案

这不是怎么 Request#getParameter(nameOfParameter) 作品:

您首先需要创建一个具有name 属性的输入字段作为idTermin

像这样:

<input type="text" name="idTermin" value="<%=termin.idTermin %>"/>

现在在你的 Servlet 中,如果你调用

request.getParameter("idTermin");

你会得到想要的值。

如果您不需要输入字段,您也可以在您的 jsp 中创建隐藏字段:

<input type="hidden" name="idTermin" value="<%=termin.idTermin %>"/>

关于java - 如何将输入文本的值传递给jsp变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30711304/

相关文章:

MySQL - 最后一天插入的平均百分比值

php - 基于分组划分列值(数字)

php - 在 foreach 中格式化 MySQL 日期

java - 在 Edittext 上使用 setText 的 RxTextView.textChanges

java - 如何获取 Vaadin8 组合框中的项目大小?

javascript - jsp 页面中的 jSTL 标记中的 if else

java - 从数据库表中获取值,其中 id = ? java

java - 如何在 scriptlet 中使用 JSP 中可用的对象,可以这样做吗

java - 将静态类字段重置为初始值

java - 通用类型 : wildcards vs variables of raw types