Я обновляю свое приложение до JSF 2 с JSF 1.2.
Я столкнулся со следующей проблемой. У меня был обработчик локали, который обрабатывал локаль, используемую при проверке URL-адреса запроса.
@Configurable
public class MutationViewHandler extends FaceletViewHandler {
@Autowired
private LanguageMutationServiceIface mutationService;
public MutationViewHandler(ViewHandler parent) {
super(parent);
}
@Override
public Locale calculateLocale(FacesContext context) {
String mutation = FacesUtil.getRequestParameter("mutation");
if (mutation == null) {
return new Locale(mutationService.getDefaultLanguageMutation().getName());
} else {
return new Locale(mutation);
}
}
}
Но в JSF 2 этот класс устарел и вызывает ошибку (NPE) при использовании в MyFaces. Я пытался реализовать это с помощью простого ViewHandler, но это заставляет меня реализовывать много методов, где я хочу использовать поведение по умолчанию.
Заранее спасибо за помощь.