2013-07-17 1 views
0

다음과 같은 최신 jquery vajaj 호출에 여러 매개 변수가 있습니다.자바 - 스프링 - 포틀릿 API @ 컨트롤러 아약스 매개 변수를 읽는 방법

Java 코드에서 첫 번째 매개 변수 값 나머지를 얻을 수 있습니다. 나머지는 null입니다. 내 자바 코드는 첫 번째 매개 변수는 모든 PARAMS가 null 후에 null가 아닌

$.ajax({ 
     url : '<portlet:resourceURL id="entitledRequest"/>', 
     data: '<c:out value="pfx= ${account.accountNumber}-${outletUI.outlet}-${count}&acc=${account.accountNumber}" />', 
     cache: false, 
     success : function(result) { 

      //targetElem.html(result); update uI 

     } 
    }); 

후, 나는이 모든 매개 변수가 무슨 잘못 여기에 단서 요청 객체에 존재하는 디버그 HTTP 요청을?

Controller("ajaxRequestController") 
@RequestMapping(value = "VIEW") 
public class AjaxRequestController implements PortletConfigAware { 


@ResourceMapping("entitledRequest") 
    public void getServiceAutoComplete(ResourceRequest request, ResourceResponse response) throws IOException { 


      String elemPrefix = request.getParameter("pfx"); 
      String acc = request.getParameter("acc"); // found null 
      String mac = request.getParameter("mac"); // found null 

}... 
+0

'elemPrefix'의 값은 무엇입니까? 그것은'c : out' 또는'pfx' 매개 변수만을 포함하고 있습니까? 'mac' 매개 변수가없는 것 같습니다. –

+0

질문에서 볼 수있는 모든 매개 변수에 대해 단 하나의 c : out 만 있고 요청 매개 변수에 대해 하나의 문자열을 만들었습니다. –

+0

'request.getParameter ("pfx");가 정확히 반환하는 문자열 값은 무엇입니까? –

답변

2

주석을 사용하여 매개 변수를 읽습니다.

@ResourceMapping("entitledRequest") 
public void getServiceAutoComplete(@RequestParam("pfx") String elemPrefix, @RequestParam String acc, @RequestParam String mac, ResourceRequest request, ResourceResponse response) throws IOException { 

} 

이유 :

ParametersPortletNamespace에 해당하지 않는 Ajax으로 보냈다. 따라서 그들은 ResourceRequest의 일부가 아니지만 보통 HTTPServletRequest에서 찾을 수 있습니다. SpringHTTPServletRequest에있는 @RequestParam 이름을 검색합니다.

나에게 제안 된 방법을 사용하거나 코드를 그대로 유지하면서 Ajax 통화의 매개 변수에 <portlet:namespace/>을 추가 할 수 있습니다.

+0

라이트 이제 아약스 호출에서 되돌릴 오전,하지만 다음 기능에 대한 나는 아약스에 대한 작업을 다음이 테스트 할 수있게 될 것이다, 내 응답을 업데이트 할 것입니다. –

+0

@Faisalkhan 감사합니다.이 게시물을 추적했습니다. 그게 효과가 있다면 받아들이십시오. – Niranjan

+0

$ .get ("test.cgi", {이름 : "John", 시간 : "오후 2시"}) .done (function (data) { 경고 ("데이터로드 됨 : + 데이터), }); –

관련 문제