2013-09-26 2 views
1

저는 JSP와 서블릿에서 꽤 초보자입니다. 그러나 많은 연구를 해왔고 많이 시도했지만 제대로 작동하지 못했습니다. 서블릿과 JSP로 작업하고 있습니다. 인스턴트 메신저 일종의 일을하고, 어떤 양식 정보를 보낼 필요가있는 배열 (이 경우에는 배열을 만들었지 만 Dynatree와 비슷한 것을 하나)을 서블릿으로 가져 와서 정보를 관리 한 다음 다른 페이지로 이동하십시오.jsp에서 서블릿으로 배열을 전달합니다.

나는 많은 것을 시도했지만 아무 것도 작동하지 않는 것 같습니다. 나는 많은 일을 잘못하고있을 수도 있지만, 테스트 할 아이디어가 더 많지는 않습니다.

덧붙여서, 나는 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> 

그리고 내 서블릿 "테스트"코드 :

@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() */  
} 

내 주요 문제는 내가 인쇄가 null, "myJsonData"를 인쇄하려고 할 때, 그리고 내가 그것을 생각입니다 shouldnt, 그러나 나는 그것이 왜하는지 모른다.

Description:This is the description 
Print:null 
+1

안녕 chebeche에

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

을 변경, SO에 오신 것을 환영합니다. 특정 문제가 무엇입니까? – Ben

+0

try String descr = request.getParameter ("comment")! = null? request.getParameter ("comment") : ""; String [] myJsonData = request.getParameterValues ​​("json []")! = null? request.getParameterValues ​​("json []") : new String [] { "not found"}; 내가 null 포인터 예외를 얻는다고 생각하는지 확인하십시오. – dev

+0

내 문제는 매개 변수 "json"을 null로 얻는 것입니다. 나는 문제가 .jsp에있을 것이라고 생각한다. Dev가 저에게 지시 한 것을 시도했지만 인쇄했습니다 : [Ljava.lang.String; @ 23b5810f " – chebeche

답변

0

시도

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

모든 요청 매개 변수의 목록을 반환합니다. 'json' 매개 변수가 아닙니다. – MaVRoSCy

+0

저는 이것이 잘 작동하고 있다고 생각합니다. 이것은 동일한 단계를 사용할 수있는 확인란과 같습니다. 그래서 나는 그것이 맞다라고 생각했다. – shivam

관련 문제