public class LocaleViewHandler extends ViewHandler{
private final ViewHandler base;
public LocaleViewHandler(ViewHandler base){
super();
this.base = base;
}
@Override
public Locale calculateLocale(FacesContext context) {
Locale locale;
HttpSession session = (HttpSession) context.getExternalContext()
.getSession(false);
if (session != null) {
//Return the locale saved by the managed bean earlier
locale = (Locale) session.getAttribute("locale");
if (locale == null) {
locale= new Locale("en");
}
return locale;
}
return base.calculateLocale(context);
}
@Override
public String calculateRenderKitId(FacesContext arg0) {
// TODO Auto-generated method stub
return base.calculateRenderKitId(arg0);
}
@Override
public UIViewRoot createView(FacesContext arg0, String arg1) {
// TODO Auto-generated method stub
return base.createView(arg0, arg1);
}
@Override
public String getActionURL(FacesContext arg0, String arg1) {
// TODO Auto-generated method stub
return base.getActionURL(arg0, arg1);
}
@Override
public String getResourceURL(FacesContext arg0, String arg1) {
// TODO Auto-generated method stub
return base.getResourceURL(arg0, arg1);
}
@Override
public void renderView(FacesContext arg0, UIViewRoot arg1)
throws IOException, FacesException {
// TODO Auto-generated method stub
base.renderView(arg0, arg1);
}
@Override
public UIViewRoot restoreView(FacesContext arg0, String arg1) {
// TODO Auto-generated method stub
return base.restoreView(arg0, arg1);
}
@Override
public void writeState(FacesContext arg0) throws IOException {
// TODO Auto-generated method stub
base.writeState(arg0);
}
public ViewHandler getBase() {
return base;
}
}
Я пытаюсь работать над примером интернализации, я написал обработчик вида, как показано выше. У меня есть два языка английского и французского языков. Но после написания этого обработчика. На консоли нет ошибки, но на ней отображается пустая белая страница. Что можно сделать, чтобы увидеть представление.Интернализация с использованием обработчика просмотра отображает пустую страницу