Мой валидатор должен знать, если это полный запрос или запрос 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-
Я знаю, что есть много мыслей о том, как использовать (или даже использовать) версию программного обеспечения. Несмотря на то, что Я хотел бы знать, когда версия программного обеспечения должна стать 2.x после 1.x.
В моем примере я использую 1 и 2, но это могло быть любой другой цифрой, конечно.
Это после полного перезаписи? Или новый / в основном обновленный пользовательский интерфейс? Куча новых (основных) функций? После переписывания программы его «ядро»?
Когда я смотрю (вероятно, плохой пример) Internet Explorer или Chrome, я не могу сказать, почему они увеличили свою «главную» версию так быстро ...
мой Идея в этот момент заключается в том, что когда программа выходит с 1.x до 2.x, она должна быть полностью переписана по крайней мере одинаковыми функциями, только лучше (более стабильный, оптимизированный, очистительный код и т. Д.)
Любые мысли ?