java - 如何使用 request.setAttribute() 通过单击链接来设置和传递值

标签 java jsp servlets

每当用户单击链接时,我想通过使用 request.setAttribute() 和 request.getAttribute() 将 rowNo 的值从一个 jsp 文件传递​​到另一个 jsp 文件(以在该行上显示图像)。

但是当我尝试在第二个 jsp 页面上使用 request.getAttribute() 时,会出现以下异常: org.apache.jasper.JasperException:java.lang.NumberFormatException:null

在 Index.jsp 页面上我有:

<%!
 int temp = 1;

 %>

<a href="single.jsp" onclick="<%= request.setAttribute("val", temp) %>" > 
<i class="glyphicon glyphicon-menu-right icon"></i> </a>

在 single.jsp 页面上:

<%

dbConnect con = new dbConnect(); 
ResultSet r = con.getConnection().executeQuery("select * from tblpic "); 

String tp = (String) (request.getAttribute("val"));

int i = Integer.parseInt(tp);

r.absolute(i);

%>

<div class="thumb-image"> <img src="<%= r.getString(2) %>" data-imagezoom="true" class="img-responsive"> </div>

r.absolute(i) 用于移动到表中的特定行。

我在两个jsp页面上都添加了这个文件(我不知道有没有必要)<%@page import = "javax.servlet.http.HttpServletRequest"%>

我正在研究 net beans 和 struts 框架。

最佳答案

您将服务器端代码和客户端代码混合在一起。 “request”是一个java对象,是servlet请求处理的一部分。它仅在 servlet 容器中渲染 jsp 时在服务器端工作。

“onclick”是一个在浏览器端运行的java脚本点击触发器。

一旦页面显示,“请求”就不是记录器有效的。然后单击提交新请求..将创建新的请求对象。

对于您来说,可以轻松地将参数传递给jsp,如下所示。

在第一个jsp上:

<a href="single.jsp?val=temp" >

在第二个jsp上:

<%=request.getParameter("val")%>

关于java - 如何使用 request.setAttribute() 通过单击链接来设置和传递值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37958716/

相关文章:

java - 单击按钮后在 swt 浏览器中打开新选项卡

jsp - 如何让 Tomcat 输出空字符串而不是 null?

java - 我们如何在 Struts 中追加 2 个字符串

java - 如何在jsp页面中获取eclipse项目的路径

java - 从 Session 变量中检索 ArrayList

java - java servlet 中的 mustache 模板放置位置以及如何查找

java - 创建随 secret 码会生成长度为 0 : Blame JavaScript or Java Servlet? 的密码

Java split() 在索引 0 处有空间

java - 接收来自客户端的消息

java - 用于字段验证的 REST API