1
我正在將我的應用程序從JSF 1.2升級到JSF 2。JSF2語言環境處理程序
我遇到了以下問題。我有locale處理程序處理通過檢查請求的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中,這個類不推薦使用,並且在MyFaces中使用時會導致錯誤(NPE)。我試圖用簡單的ViewHandler來實現它,但是它迫使我在希望使用默認行爲的地方實現許多方法。
感謝您的幫助。
我應該從getWrapped方法返回的的ViewHandler?有沒有辦法獲得默認的? – malejpavouk 2011-06-10 10:49:21
只是在施工期間通過的那個。我用啓動片段更新了答案。 – BalusC 2011-06-10 10:50:14
完美,適合我。它比我想象的更簡單,我正在尋找一個陷阱,但沒有:-)。非常感謝。 – malejpavouk 2011-06-10 10:58:26