【问题标题】:how can I pass data by clicking on href tag in jsp如何通过单击jsp中的href标签来传递数据
【发布时间】:2018-03-14 07:01:46
【问题描述】:

我在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。在该页面中,我想检索 namerollNo 值。所以我有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页面。但在第 2 页,我将 namerollNo 的值设为 null。我得到以下输出:

Hello World!

Student name null
Student Roll No is null

我得到了帮助 from this link . 我不明白为什么我在第二页得到空值。如何解决此错误?请帮我。

更新信息

我检查了index.jsp 的代码。代码如下:

【问题讨论】:

  • 您没有向下一页发送任何值
  • 我在表单标签中指定了值。看到这个代码:

标签: javascript java jquery html jsp


【解决方案1】:

隐藏的值在表单内部,因此您需要一个表单提交才能将值提交到下一页。如果你直接把一个页面放在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>

【讨论】:

    【解决方案2】:

    一种方法是使用这样的提交按钮来做到这一点。

      <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。

    【讨论】:

      猜你喜欢
      • 2014-07-17
      • 2012-05-02
      • 1970-01-01
      • 2011-05-20
      • 2023-03-03
      • 1970-01-01
      • 2018-10-08
      • 2020-12-28
      • 2019-04-21
      相关资源
      最近更新 更多