gpt4 book ai didi

java - 如何将字符串从一个jsp传递到另一个jsp,其中每个字符串都在链接中,并通过单击链接方式检索字符串

转载 作者:太空宇宙 更新时间:2023-11-04 10:51:17 25 4
gpt4 key购买 nike

我从数据库中获取了数据(一些字符串),并覆盖了 A.jsp 页面中链接中的每个字符串。现在,如果单击一个链接,则该链接所覆盖的字符串将显示在 B.jsp 中。这里我注意到在数据库中我将​​图像存储为字符串。所以这里的字符串只是一个图像。

<% ResultSet rs=st.executeQuery("Select name,image from base64image");
int ii=0;
while(rs.next()){
if(ii==0)
out.println("<tr>");
ii=1;
%>
<td><a href="B.jsp"> <img src='<%=rs.getString(2)%>' height='200px;' width='200px' />n</a></td>
<%
i++;
if(i%3 ==0 ){
out.println("</tr>");
ii=0;
}

}
out.println("</tr> </table>");
}

最佳答案

好吧,看看你的代码,你使用表达式标签来输出你需要的字符串。该字符串是图像源路径,然后该图像将用作 B.jsp 页面的点击链接。

我假设这个表达式是java,因为您使用的变量有一个对象类型,以及相应的“getString()”方法。如果是这种情况,您的代码不会在 jsp <% %> 标记中显示上述“rs”对象。您在 jsp 文件中编写的任何 java 都需要位于这些标记中。

<% ResultSet rs=st.executeQuery("Select name,image from base64image"); %>

据说以这种方式在 scriptlet 中使用 java 通常被认为是不好的做法,但是,我可以理解想要清理 jsp 文件,并最大限度地减少完成查询的行数。话虽这么说,只是为了完成这个答案,这就是您如何使用 jSTL 标签完成同样的事情:

//first include the sql tag library in your Jsp
<%@ taglib prefix = "sql" uri = "http://java.sun.com/jsp/jstl/sql" %>

<sql:query dataSource = "datasource/here" var = "result">
//full query here
SELECT * from Employees;
</sql:query>

//You can then use the result variable using standard jsp
//Here you can grab the row, or sift through multiple results, etc.
<c:forEach var = "row" items = "${result.rows}">
<a href="B.jsp"> <img src='${row.columnName}' height='200px;' width='200px' />n</a>
</c:forEach>

信息和示例 here

然而,jsp 中有大量代码,这甚至不是解决此问题的最佳方法。因为您只期望返回一行,所以您将被迫像返回多行一样处理结果。 (但是,如果您需要将此信息放入表格格式,这很好)

另一个解决方案是使用 java servlet。但我不能完全推荐这个,因为我不知道你的代码的结构。这在您的系统中实现起来可能很容易,也可能很困难。然而,这仍然无法击败单行方法。

如果您要通过单独的 servlet 类来完成此操作,则实际上需要通过 jsp 中的 ajax 调用来调用该类,或者使用 this answer 中提到的其他各种方法。 .

我希望我能帮助您解决问题,并帮助任何其他偶然发现这个答案的人!

关于java - 如何将字符串从一个jsp传递到另一个jsp,其中每个字符串都在链接中,并通过单击链接方式检索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47820797/

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