AJAX-запрос поставляется со специальным заголовком, называемым X-Requested-With, который должен равняться «XMLHttpRequest».Таким образом, кросс-фреймворк может быть:
public static boolean isAjaxRequest(ResourceRequest request) {
String request_header = request.getProperty("X-Requested-With");
return (request_header!=null)&&(request_header.equalsIgnoreCase("XMLHttpRequest"));
}
Проблема в том, что некоторые запросы Ajax могут поступать без этого заголовка, и разные контейнеры портала могут реализовывать это по-разному.
Это из документа Java дляPortletRequest:
getProperty
java.lang.String getProperty (java.lang.String name)
Возвращает значение указанного свойства запроса в виде строки.Если в запросе не указано свойство с указанным именем, этот метод возвращает значение null.С помощью этого метода портлет может обращаться к определенным свойствам портала / контейнера портлета и, если доступно, к заголовкам клиентского запроса HTTP.