使用href将一个jsp页面中的值发送到另一个jsp页面

5

如何将 resultset.getInt(1) 的值发送到另一个jsp页面,我正在尝试但无法正常工作。

<td><a href="result.jsp?Id="+<%=resultset.getInt(1)%> ><%= resultset.getInt(1) %></a></td>

result.jsp

<% 
String ss =request.getParameter("Id");
System.out.println("my value" + ss);
%>

我在result.jsp页面中得到了""

resultset.getInt(1) 在第一个 JSP 中的值是什么? - Azodious
你为什么不把它作为请求范围的属性直接传递呢? - PermGenError
你检查过resultset.getInt(1)是否返回值了吗? - Bhavik Shah
你知道吗 - <%=resultset.getInt(1)%> 类似于 out.println(resultset.getInt(1));?因此,您不能期望 sysout 返回任何值以存储在您的 a标签的 href 中。因此,请从末尾删除 <%=.. %>。保持它像这样 - <a href="result.jsp?Id="+ resultset.getInt(1)>,看看是否有效。 - Rohit Jain
我认为你应该像这样放置一个空格 <%= resultset.getInt(1) %>。 - Bhavik Shah
@BhavikShah:是的,resultset.getInt(1)正在返回值.. - Nibha Jain
3个回答

13

试一试这个:

<td>
    <a href=<%= "\"result.jsp?Id=" + resultset.getInt(1) + "\"" %> ><%= resultset.getInt(1) %></a>
</td>

1

这是我们的第一页:-

    <%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8" import="java.util.*;" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="xp.jsp" method="get">
<input type="text" value="" name="lol">
<input type="submit" value="submit"></input>
</form>
<a href="xp.jsp?lol=hahah">click me</a>
</body>
</html>

这是我们的xp.jsp文件:

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%=request.getParameter("lol") %>
</body>
</html>

1
我已经使用了两种方法将数据从一个JSP传递到另一个JSP。 - CodeHunter
如果 href="xp.jsp?lol=hahah haa" 中有空格,数值会在空格后被截断,请给予建议。 - Vinit Bhardwaj

1
我建议您查看生成的HTML。看起来第一个<%=resultset.getInt(1)%>的结果是写在href的值之外的。这样可能会更好:
<td><a href="result.jsp?Id=<%=resultset.getInt(1)%>" ><%= resultset.getInt(1) %></a></td>

顺便提一下,我建议您查看表达式语言并使用它来代替在JSP中嵌入Java代码。这样的代码很难调试和维护。

感谢您的快速回复。这并不超出 href 的值范围。 - Nibha Jain

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接