我想通过每当用户单击链接时使用request.setAttribute()和request.getAttribute()从一个jsp文件将rowNo的值传递到另一个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页面上都添加了此文件(我不知道是否有必要)

我正在研究Net Bean和Struts框架。

最佳答案

您将服务器端代码和客户端代码混合在一起。 “请求”是一个Java对象,是servelet请求处理的一部分。它仅在在servlet容器中呈现jsp时才在服务器端起作用。

“ onclick”是在浏览器端运行的Java脚本单击触发器。

页面显示后,“请求”无效记录器。然后单击提交新请求。将创建新的请求对象。

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

在第一个jsp上:

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

在第二个jsp上:

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

09-30 17:21
查看更多