Различают запросы AJAX от полных запросов в пользовательском валидатере JSF

Мой валидатор должен знать, если это полный запрос или запрос AJAX. В моем текущем решении Я проверяю заголовок HTTP-запроса для X-запрошенного x , с элементом :

public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {
    HttpServletRequest req = (HttpServletRequest) context.getExternalContext().getRequest();
        if (req.getHeader("X-Requested-With") != null) {
           // do something
        } else {
           // do something else
        }
       ...
}

Есть ли лучший подход к достижению этого? Это мое решение «безопасно» относительно разных браузеров / JavaScript Libs?

Обновление:

Просто узнал, что заголовок X - с заголовком присутствует только в том случае, если запрос AJAX поступает из библиотеки компонентов Primefaces ( тег ).

Это Not присутствует, если я использую простой JSF . Итак, мой подход не будет работать с .

Использование Существует разный заголовок:

Faces-Request:partial/ajax

Решение, предложенное OSW, работает для и :

partialviewcontext # isajaxrequest ()

-121 --- 1120 051-

Когда увеличивать номер версии программного обеспечения с 1.x до 2.x? [Закрыто] Я знаю, что есть много мыслей о том, как использовать (или даже использовать) версию программного обеспечения. Несмотря на то, что я хотел бы знать, когда версия программного обеспечения должна стать 2.x после 1.x. В моем примере я использую ...

Я знаю, что есть много мыслей о том, как использовать (или даже использовать) версию программного обеспечения. Несмотря на то, что Я хотел бы знать, когда версия программного обеспечения должна стать 2.x после 1.x.

В моем примере я использую 1 и 2, но это могло быть любой другой цифрой, конечно.

Это после полного перезаписи? Или новый / в основном обновленный пользовательский интерфейс? Куча новых (основных) функций? После переписывания программы его «ядро»?

Когда я смотрю (вероятно, плохой пример) Internet Explorer или Chrome, я не могу сказать, почему они увеличили свою «главную» версию так быстро ...

мой Идея в этот момент заключается в том, что когда программа выходит с 1.x до 2.x, она должна быть полностью переписана по крайней мере одинаковыми функциями, только лучше (более стабильный, оптимизированный, очистительный код и т. Д.)

Любые мысли ?

6
задан 321X 15 September 2011 в 08:52
поделиться