1

我是 JSP 和 servlet 的新手,但我一直在做很多研究并尝试了很多,但我无法让它工作。我正在使用 servlet 和 JSP。我正在做一种登录,在其中我需要发送一些表单信息和一个数组(在这种情况下我已经创建了数组,但我从 Dynatree 获得了一个类似的数组)到 servlet,管理信息,然后转到另一页。

我尝试了很多东西,但似乎没有任何效果。可能是我做错了很多事情,但我没有更多的想法来测试可能会起作用。

顺便说一句,我正在使用 Tomcat 开发 netBeans。

JSP代码:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  <title>Dynatree - Example</title>

  <script src="jquery/jquery.js" type="text/javascript"></script>
  <script src="jquery/jquery-ui.custom.js" type="text/javascript"></script>
  <script src="jquery/jquery.cookie.js" type="text/javascript"></script>
  <link href="src/skin/ui.dynatree.css" rel="stylesheet" type="text/css">
  <script src="src/jquery.dynatree.js" type="text/javascript"></script>

    <script type="text/javascript">

      function myFunction(){
             alert("Hello! I am an alert box!");
            };
    </script>
</head>

<body class="example">
  <h1>Example: Form</h1>

  <form action="Test" method="post" name="form" >
    Username: <input type="text" name="userName" />
    <br>
    <textarea name="comment"></textarea>
    <br>
    <input type="submit" id="id2" value="Send data">
    <br>
    <input type="button" onclick="myFunction();" value="Show alert box">
  </form>   

   <script type="text/javascript">      
        $("#id2").click(function() {
                var json=[1,2,3,4];
            $.ajax({
                url:"Test",
                type:"POST",
                dataType:'json',
                data: {json:json},
                success:function(data){
                     alert("Hello! I am an alert box!");
                }
               });
        });
    </script>
</body>
</html>

还有我的 servlet“测试”代码:

@WebServlet(urlPatterns = {"/Test"})
public class Test extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {         

        PrintWriter out = response.getWriter();            
        String descr = request.getParameter("comment");            
        String[] myJsonData = request.getParameterValues("json[]");

        out.print("\nDescription:");
        out.print(descr);
        out.print("\nPrint:");            
        out.print(myJsonData);

       // response.sendRedirect("pasoServlet.jsp");
    }
} /* end doPost() */    
}

我的主要问题是,当我尝试打印“myJsonData”时,打印空,我认为它不应该,但我不知道为什么会这样。

Description:This is the description 
Print:null
4

1 回答 1

1

尝试改变

String[] myJsonData = request.getParameterValues("json[]");

String[] myJsonData = request.getParameterValues("json");
于 2013-09-26T05:59:04.057 回答