2014-12-10 3 views
0

내 JSP에는 두 개의 입력 필드와 버튼이 있습니다. 입력 필드 값은 두 개의 숨겨진 필드로 설정됩니다. 버튼 클릭 이벤트는 다음과 같이 숨겨진 필드 값을 검색하려고하는 js 함수를 호출합니다.NPE가 숨겨진 필드 값을 검색 할 때 jsp에서 발생합니다.

<% String wsdl1Path = request.getParameter("wsdl1path").toString();  
String wsdl2Path = request.getParameter("wsdl2path").toString();  
WsdlCompare com = new WsdlCompare();  
String url = "";  
if (wsdl1Path != null && wsdl2Path != null) {  
url= com.compare(wsdl1Path,wsdl2Path);  
} 
.... 

이로 인해 NPE가 발생합니다. Exception을 처리하면 Java 메소드가 호출되지 않습니다. 참고 : wsdl1path 및 wsdl2path : IDS 숨겨진 필드

오류 로그 :

[2014-12-10 23:08:11,077] ERROR {org.apache.catalina.core.ApplicationDispatcher} - Servlet.service() for servlet bridgeservlet threw exception 
java.lang.NullPointerException 
    at org.apache.jsp.wsdlcompare.index_jsp._jspService(index_jsp.java:179) 
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) 
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) 
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) 
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) 
    at org.wso2.carbon.ui.JspServlet.service(JspServlet.java:155) 
    at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:80) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) 
....... 
+0

, 당신의'request.getParameter' 따라서 NPE는'()' – geert3

+0

toString을 호출하려고 원인이'null'를 반환합니다 페이지로드시 NPE가 발생합니다. try catch를 사용하여 NPE를 잡아서 처리하려고합니다. 그렇다면 내 Java 클래스 메서드가 호출되지 않습니다. – Sithu

답변

0
String wsdl1Path = request.getParameter("wsdl1path"); 
String wsdl2Path = request.getParameter("wsdl2path"); 

WsdlCompare com = new WsdlCompare();  
String url = "";  
if (wsdl1Path != null && wsdl2Path != null) {  
    url= com.compare(wsdl1Path,wsdl2Path);  
}else{ 
    //Handle NPE 
} 

이 시도 ...

wsdl1Path 또는 wsdl2Path가 null 된 경우 예외를 수 처리 할 것 .

또한 두 개의 매개 변수가있는 GET로드 페이지 인 경우 GET 또는 POST 메서드를 통해 두 매개 변수를 전달하십시오.

예 :은`wsdl1path` 또는`wsdl2path` 매개 변수 중 하나가 설정되지 않은 경우 index.jsp?wsdl1Path=wsdl1_path&wsdl2Path=wsdl2_path

관련 문제