2012-02-27 2 views

답변

1
return !StringUtils.isEmpty(request.getParameter("AJAXREQUEST")); 
0

AJAX 요청에는 "XMLHttpRequest"와 같아야하는 X-Requested-With라는 특수 헤더가 있습니다. 그래서 십자가 프레임 워크의 방법이 될 수있다 :

public static boolean isAjaxRequest(ResourceRequest request) { 
    String request_header = request.getProperty("X-Requested-With"); 
    return (request_header!=null)&&(request_header.equalsIgnoreCase("XMLHttpRequest")); 
} 

문제는 일부 Ajax 요청이 다른이를 구현하는이 헤더와 다른 포털 용기없이 올 수도있다.

은하고 PortletRequest에 대한 Java 문서에서입니다 :

getProperty에

java.lang.String의 getProperty에 (java.lang.String의 이름)

지정된 요구 프로퍼티의 값을 돌려줍니다

String로서. 요청에 지정된 이름의 속성이 포함되어 있지 않으면이 메서드는 null을 반환합니다. 포틀릿은이 메소드를 통해 포털/포틀릿 컨테이너 특정 등록 정보에 액세스 할 수 있으며 사용 가능한 경우 HTTP 클라이언트 요청의 헤더 을 사용할 수 있습니다.

관련 문제