gpt4 book ai didi

java - 如何在没有表单的情况下为每个循环将一个值从一个 JSP 页面发送到另一个 JSP 页面?

转载 作者:行者123 更新时间:2023-12-01 10:22:17 27 4
gpt4 key购买 nike

尝试使用 session ,但不起作用。

我正在从外部数据库上传数据并将其显示在我的页面上。所有字符串都加载良好,并且图像也加载,但每次循环时我都会得到相同的图像(数据库行中的最后一个图像)而不是不同的图像。我需要一种方法将“id”值从一个页面传递到另一个页面,以便能够构建指向正确 id 的 SQL 查询。

我尝试使用一个带有静态字符串的简单类,并在循环的每次迭代中存储/更改其值,以便我可以在任何地方调用它。我尝试通过在每次迭代中设置其属性来使用 session 。

尝试打印这两个方法的值,它们只返回值 19 一次(最后一个图像行的 ID)。

我还尝试使用隐藏输入并设置其值,并尝试在 image.jsp 中获取该值。这不起作用,因为我没有使用表格。

那么如何在每次循环时将更新后的 id 值从第一页发送到 image.jsp 呢?

首页

<body>

<div class="container">
<div class="row">

<%
String dbURL = "jdbc:mysql://1.1.1.1:3306/dbname";
String dbUser = "";
String dbPass = "";
Connection conn;


try{
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
conn = DriverManager.getConnection(dbURL, dbUser, dbPass);

Statement statement = conn.createStatement();
ResultSet resultset =
statement.executeQuery("select image, name, age, gender, contact, description, id from driver");

while(resultset.next()) {
session.setAttribute("userid", resultset.getString(7)); //trying with sessions
TempClass.idValue = resultset.getString(7); //trying with a static String value
%>

<div class="col-sm-4">
<div class="k-cust_box">
<h3><%= resultset.getString(2) %></h3>
<hr>
<input name="secret" value="<%= resultset.getString(7) %>" type="hidden"> <!-- Trying with hidden input value -->
<img class="k-profile-img" src="image.jsp" height="100px" border="1" style="float: left; overflow: hidden" width="33%">
<div class="k-driver-inner-box">
<h5>Age: <%= resultset.getString(3) %></h5>
<h5>Gender: <%= resultset.getString(4) %></h5>
<h5>Contact: <%= resultset.getString(5) %></h5>
</div>
<h5 class="k-fl-lt"><%= resultset.getString(6) %></h5>
</div>
</div>
<%}
}catch (Exception e){
e.printStackTrace();
}
%>
</div>
</div>

</body>

图像.jsp

<body>
<%
String dbURL = "jdbc:mysql://1.1.1.1:3306/dbname";
String dbUser = "";
String dbPass = "";
Connection conn;
byte[] pict = null;

Object id = session.getAttribute("userid"); //trying to get session id and returns 19 only once.
String userid = request.getParameter("secret"); //trying to get hidden input value - this always returns null. Expected.
String staticId = TempClass.idValue; //trying to get static value and returns 19 only once.

try{
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
conn = DriverManager.getConnection(dbURL, dbUser, dbPass);

Statement statement = conn.createStatement();
ResultSet resultset =
statement.executeQuery("select image from driver where id = '" + id + "'"); //this id value has to change on each loop to be able to load different images.
response.setContentType("image/jpg");
while(resultset.next()) {
Blob bl = resultset.getBlob(1);
pict = bl.getBytes(1,(int)bl.length());
}
OutputStream o = response.getOutputStream();
o.write(pict);
}catch (Exception e){
e.printStackTrace();
}
%>
</body>

最佳答案

在第一页中,img 标签,

src="image.jsp?id=<%=resultset.getString(7)%>" 

image.jsp 中,

String id = request.getParameter("id");

关于java - 如何在没有表单的情况下为每个循环将一个值从一个 JSP 页面发送到另一个 JSP 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35506872/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com