我在vaadin论坛上找到了代码 并且我不知道他如何获得方法 Cookies.get(request,Constants.VAADIN_THEME_COOKIE_NAME) 有人可以解释一下吗?
public class CustomVaadinCDIServlet extends VaadinCDIServlet {
@Override
protected VaadinServletService createServletService( DeploymentConfiguration deploymentConfiguration ) throws ServiceException {
final VaadinCDIServletService service = new VaadinCDIServletService(this, deploymentConfiguration) {
@Override
public String getConfiguredTheme( VaadinRequest request ) {
final String theme = Cookies.get( request, Constants.VAADIN_THEME_COOKIE_NAME );
return theme != null && Themes.contains( theme ) ? theme : Themes.VALO_facebook;
}
};
service.init();
return service;
}
}
答案 0 :(得分:1)
对你的想法很多,VaadinRequest扩展了HttpRequest,所以你也可以这样做
Cookie [] cookies = request.getCookies();
(它的javax.servlet.http.Cookie)
然后迭代cookie。
但是如果你只是想知道正在使用的主题,那么在UI中就有方法,即UI.getTheme()
你可以获得UI,例如在您的情况下使用ui = request.getService()。findUI(request)。