2015-01-15 2 views
0

드롭 다운에 추가 할 옵션이 포함 된 JSON을 반환하는 서블릿을 만들었습니다. 노드 아래의 options 매개 변수를 사용하여이 서블릿의 경로를 설정했습니다.동적 선택 드롭 다운을 위해 cq5 대화 상자에서 호출 할 때 슬링 서블릿에 오류가 발생했습니다.

서블릿은 드롭 다운에 의해 호출됩니다. URL : localhost:4502/bin/myServlet/을 통해 수동으로 테스트 할 수도 있습니다. 내 서블릿을 호출하고 JSON 결과를 인쇄합니다. 그러나 그와 함께 또한 오류 메시지가 :

{ "텍스트": "ABCD", "값": "XYZ", "텍스트": "ABCD", "값": "XYZ"}

방법은

가 com.marsh.newsLatest.servlets.TagLocatorServlet에 요청 진행/빈/tagFinder에 대한 요청을 처리 할 수 ​​없습니다

지원되지 GET :

0 (2015-01-15 19:40:47) TIMER_START{Request Processing} 
0 (2015-01-15 19:40:47) COMMENT timer_end format is {<elapsed msec>,<timer name>} <optional message> 
0 (2015-01-15 19:40:47) LOG Method=GET, PathInfo=/bin/tagFinder 

(...)

오류를 제거하려면 어떻게해야합니까?

서블릿 코드

아래 볼 수

package com.abc.newsLatest.servlets; 

import java.io.IOException; 

import javax.servlet.ServletException; 

import org.apache.felix.scr.annotations.sling.SlingServlet; 
import org.apache.sling.api.SlingHttpServletRequest; 
import org.apache.sling.api.SlingHttpServletResponse; 
import org.apache.sling.api.servlets.SlingAllMethodsServlet; 
import org.apache.sling.api.servlets.SlingSafeMethodsServlet; 
import org.apache.sling.commons.json.JSONException; 
import org.apache.sling.commons.json.io.JSONWriter; 

/** 
* 
* 
*/ 
@SlingServlet(paths = "/bin/tagFinder",methods="get") 
public class TagLocatorServlet extends SlingAllMethodsServlet { 
    private static final long serialVersionUID = -3960692666512058118L; 

    @Override 
    protected void doGet(SlingHttpServletRequest request, 
      SlingHttpServletResponse response) throws ServletException, 
      IOException { 
     // TODO Auto-generated method stub 
     System.out.println("in get method "); 
     response.setContentType("application/json"); 

     JSONWriter writer = new JSONWriter(response.getWriter()); 

     try { 
      writer.object(); 
      // { 
      writer.key("text").value("allhad"); 
      writer.key("value").value("nilekar"); 

      writer.key("text").value("allhad"); 
      writer.key("value").value("nilekar"); 


      writer.endObject(); // } 
     } catch (JSONException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     super.doGet(request, response); 
    } 

    @Override 
    protected void doPost(SlingHttpServletRequest request, 
      SlingHttpServletResponse response) throws ServletException, 
      IOException { 
     // TODO Auto-generated method stub 
     System.out.println("in post"); 
     this.doGet(request, response); 

    } 
} 

답변

1

오류 superclass에 정의 doGet() 방법에 의해 제조된다. doGet() 구현에서 마지막 줄을 제거하면 오류가 사라집니다.

super.doGet(request, response); 
+0

고마워 ..... 실제로 마지막 줄을 제거한 후 작업 ... 다시 한 번 감사드립니다. – asn

관련 문제