我在index.jsp
,我想在点击href
标记后传递一些数据。该页面的代码如下:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="js/jquery-3.2.1.min.js"></script>
<style>
a{
padding: 10px !important;width:200px;
text-decoration:none !important;
background-color: #0B70BE;
background-image: -moz-linear-gradient(center center , rgb(11, 112, 190) 0%, rgb(11, 112, 190) 100%) !important;
border-radius: 2px !important;
border: 2px solid rgb(43, 125, 185) !important;
font-weight: bold;
font-size: 13px !important;
font-family: Helvetica Neue,Helvetica,Arial,sans-serif;
height: 26px !important;
text-shadow: none !important;
color: rgb(255, 255, 255) !important;
}
</style>
<script type="text/javascript">
$('#myForm1').click(function (e)
{
e.preventDefault(); // prevent the link from actually redirecting
$('#myForm1').submit();
});
</script>
</head>
<body>
<div>TODO write content</div>
<%
String name = "1231";
int rollNo = 121;
%>
<form method="get" id="myForm1" action="hello.jsp">
<Input type="Hidden" name="name" id="name" value="<%=name%>">
<Input type="Hidden" name="rollNo" id="rollNo" value="<%=rollNo%>">
<a href="hello.jsp">Please Enroll Finger 1</a>
</form>
</body>
</html>
点击href
代码后,我会转到hello.jsp
。在该页面中,我想要检索name
和rollNo
值。所以我有hello.jsp
页面的代码:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Hello World!</h1>
<%
String name = request.getParameter("name");
String rollNo = request.getParameter("rollNo");
out.println("Student name "+name+"<br>");
out.println("Student Roll No is "+rollNo);
%>
</body>
</html>
点击第一页的href
标记后,转到hello.jsp
页面。但在第二页中,我将name
和rollNo
的值设为 null 。我有以下输出:
Hello World!
Student name null
Student Roll No is null
我已经采取了帮助from this link . 我无法理解为什么我在第二页获得空值。我该如何解决这个错误?请帮我。
我检查了index.jsp
的代码。代码如下:
答案 0 :(得分:2)
隐藏值在表单内,因此您需要表单提交以将值提交到下一页。如果直接在href属性中放置页面,浏览器将转到该页面而不进行任何表单提交。
因此,您需要将javascript代码放在href中,以触发表单提交操作,如下所示。
<form method="get" id="myForm1" action="hello.jsp">
<Input type="Hidden" name="name" id="name" value="<%=name%>">
<Input type="Hidden" name="rollNo" id="rollNo" value="<%=rollNo%>">
<a href="$('#myForm1').submit();">Please Enroll Finger 1</a>
</form>
答案 1 :(得分:1)
一种方法是使用这样的提交按钮来完成此操作。
<form method="get" id="myForm1" action="hello.jsp">
<Input type="Hidden" name="name" id="name" value="<%=name%>">
<Input type="Hidden" name="rollNo" id="rollNo" value="<%=rollNo%>">
<Input type="submit" value ="Please Enroll Finger 1">
</form>
通过此控件将数据发送到hello.jsp。