Java 类org.springframework.web.servlet.ThemeResolver 实例源码

项目:spring4-understanding    文件:AbstractTagTests.java   
protected MockPageContext createPageContext() {
    MockServletContext sc = new MockServletContext();
    SimpleWebApplicationContext wac = new SimpleWebApplicationContext();
    wac.setServletContext(sc);
    wac.setNamespace("test");
    wac.refresh();

    MockHttpServletRequest request = new MockHttpServletRequest(sc);
    MockHttpServletResponse response = new MockHttpServletResponse();
    if (inDispatcherServlet()) {
        request.setAttribute(DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE, wac);
        LocaleResolver lr = new AcceptHeaderLocaleResolver();
        request.setAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE, lr);
        ThemeResolver tr = new FixedThemeResolver();
        request.setAttribute(DispatcherServlet.THEME_RESOLVER_ATTRIBUTE, tr);
        request.setAttribute(DispatcherServlet.THEME_SOURCE_ATTRIBUTE, wac);
    }
    else {
        sc.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, wac);
    }

    return new MockPageContext(sc, request, response);
}
项目:spring4-understanding    文件:ThemeResolverTests.java   
private void internalTest(ThemeResolver themeResolver, boolean shouldSet, String defaultName) {
    // create mocks
    MockServletContext context = new MockServletContext();
    MockHttpServletRequest request = new MockHttpServletRequest(context);
    MockHttpServletResponse response = new MockHttpServletResponse();
    // check original theme
    String themeName = themeResolver.resolveThemeName(request);
    assertEquals(themeName, defaultName);
    // set new theme name
    try {
        themeResolver.setThemeName(request, response, TEST_THEME_NAME);
        if (!shouldSet)
            fail("should not be able to set Theme name");
        // check new theme namelocale
        themeName = themeResolver.resolveThemeName(request);
        assertEquals(TEST_THEME_NAME, themeName);
        themeResolver.setThemeName(request, response, null);
        themeName = themeResolver.resolveThemeName(request);
        assertEquals(themeName, defaultName);
    }
    catch (UnsupportedOperationException ex) {
        if (shouldSet)
            fail("should be able to set Theme name");
    }
}
项目:class-guard    文件:AbstractTagTests.java   
protected MockPageContext createPageContext() {
    MockServletContext sc = new MockServletContext();
    sc.addInitParameter("springJspExpressionSupport", "true");
    SimpleWebApplicationContext wac = new SimpleWebApplicationContext();
    wac.setServletContext(sc);
    wac.setNamespace("test");
    wac.refresh();

    MockHttpServletRequest request = new MockHttpServletRequest(sc);
    MockHttpServletResponse response = new MockHttpServletResponse();
    if (inDispatcherServlet()) {
        request.setAttribute(DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE, wac);
        LocaleResolver lr = new AcceptHeaderLocaleResolver();
        request.setAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE, lr);
        ThemeResolver tr = new FixedThemeResolver();
        request.setAttribute(DispatcherServlet.THEME_RESOLVER_ATTRIBUTE, tr);
        request.setAttribute(DispatcherServlet.THEME_SOURCE_ATTRIBUTE, wac);
    }
    else {
        sc.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, wac);
    }

    return new MockPageContext(sc, request, response);
}
项目:class-guard    文件:ThemeResolverTests.java   
private void internalTest(ThemeResolver themeResolver, boolean shouldSet, String defaultName) {
    // create mocks
    MockServletContext context = new MockServletContext();
    MockHttpServletRequest request = new MockHttpServletRequest(context);
    MockHttpServletResponse response = new MockHttpServletResponse();
    // check original theme
    String themeName = themeResolver.resolveThemeName(request);
    assertEquals(themeName, defaultName);
    // set new theme name
    try {
        themeResolver.setThemeName(request, response, TEST_THEME_NAME);
        if (!shouldSet)
            fail("should not be able to set Theme name");
        // check new theme namelocale
        themeName = themeResolver.resolveThemeName(request);
        assertEquals(TEST_THEME_NAME, themeName);
        themeResolver.setThemeName(request, response, null);
        themeName = themeResolver.resolveThemeName(request);
        assertEquals(themeName, defaultName);
    }
    catch (UnsupportedOperationException ex) {
        if (shouldSet)
            fail("should be able to set Theme name");
    }
}
项目:spring-mvc-toolkit    文件:TestHtml5InputTag.java   
protected MockPageContext createPageContext() {
    MockServletContext sc = new MockServletContext();
    StaticWebApplicationContext wac = new StaticWebApplicationContext();
    wac.setServletContext(sc);
    wac.setNamespace("test");
    wac.registerSingleton("validator",
            org.springframework.validation.beanvalidation.LocalValidatorFactoryBean.class);
    wac.refresh();

    MockHttpServletRequest request = new MockHttpServletRequest(sc);
    MockHttpServletResponse response = new MockHttpServletResponse();
    request.setAttribute(DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE, wac);
    LocaleResolver lr = new AcceptHeaderLocaleResolver();
    request.setAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE, lr);
    ThemeResolver tr = new FixedThemeResolver();
    request.setAttribute(DispatcherServlet.THEME_RESOLVER_ATTRIBUTE, tr);
    request.setAttribute(DispatcherServlet.THEME_SOURCE_ATTRIBUTE, wac);

    return new MockPageContext(sc, request, response);
}
项目:spring4-understanding    文件:RequestContextUtils.java   
/**
 * Retrieves the current theme from the given request, using the ThemeResolver
 * and ThemeSource bound to the request by the DispatcherServlet.
 * @param request current HTTP request
 * @return the current theme, or {@code null} if not found
 * @see #getThemeResolver
 */
public static Theme getTheme(HttpServletRequest request) {
    ThemeResolver themeResolver = getThemeResolver(request);
    ThemeSource themeSource = getThemeSource(request);
    if (themeResolver != null && themeSource != null) {
        String themeName = themeResolver.resolveThemeName(request);
        return themeSource.getTheme(themeName);
    }
    else {
        return null;
    }
}
项目:spring4-understanding    文件:RequestContext.java   
/**
 * Change the current theme to the specified one,
 * storing the new theme name through the configured {@link ThemeResolver}.
 * @param theme the new theme
 * @see ThemeResolver#setThemeName
 */
public void changeTheme(Theme theme) {
    ThemeResolver themeResolver = RequestContextUtils.getThemeResolver(this.request);
    if (themeResolver == null) {
        throw new IllegalStateException("Cannot change theme if no ThemeResolver configured");
    }
    themeResolver.setThemeName(this.request, this.response, (theme != null ? theme.getName() : null));
    this.theme = theme;
}
项目:spring4-understanding    文件:RequestContext.java   
/**
 * Change the current theme to the specified theme by name,
 * storing the new theme name through the configured {@link ThemeResolver}.
 * @param themeName the name of the new theme
 * @see ThemeResolver#setThemeName
 */
public void changeTheme(String themeName) {
    ThemeResolver themeResolver = RequestContextUtils.getThemeResolver(this.request);
    if (themeResolver == null) {
        throw new IllegalStateException("Cannot change theme if no ThemeResolver configured");
    }
    themeResolver.setThemeName(this.request, this.response, themeName);
    // Ask for re-resolution on next getTheme call.
    this.theme = null;
}
项目:spring4-understanding    文件:ThemeChangeInterceptor.java   
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
        throws ServletException {

    String newTheme = request.getParameter(this.paramName);
    if (newTheme != null) {
        ThemeResolver themeResolver = RequestContextUtils.getThemeResolver(request);
        if (themeResolver == null) {
            throw new IllegalStateException("No ThemeResolver found: not in a DispatcherServlet request?");
        }
        themeResolver.setThemeName(request, response, newTheme);
    }
    // Proceed in any case.
    return true;
}
项目:psi-probe    文件:ProbeConfig.java   
/**
 * Gets the fixed theme resolver.
 *
 * @return the fixed theme resolver
 */
@Bean(name = "themeResolver")
public ThemeResolver getThemeResolver() {
  logger.debug("Instantiated fixedThemeResolver");
  FixedThemeResolver resolver = new FixedThemeResolver();
  resolver.setDefaultThemeName("theme-classic");
  return resolver;
}
项目:class-guard    文件:RequestContextUtils.java   
/**
 * Retrieves the current theme from the given request, using the ThemeResolver
 * and ThemeSource bound to the request by the DispatcherServlet.
 * @param request current HTTP request
 * @return the current theme, or {@code null} if not found
 * @see #getThemeResolver
 */
public static Theme getTheme(HttpServletRequest request) {
    ThemeResolver themeResolver = getThemeResolver(request);
    ThemeSource themeSource = getThemeSource(request);
    if (themeResolver != null && themeSource != null) {
        String themeName = themeResolver.resolveThemeName(request);
        return themeSource.getTheme(themeName);
    }
    else {
        return null;
    }
}
项目:class-guard    文件:ThemeChangeInterceptor.java   
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
        throws ServletException {

    String newTheme = request.getParameter(this.paramName);
    if (newTheme != null) {
        ThemeResolver themeResolver = RequestContextUtils.getThemeResolver(request);
        if (themeResolver == null) {
            throw new IllegalStateException("No ThemeResolver found: not in a DispatcherServlet request?");
        }
        themeResolver.setThemeName(request, response, newTheme);
    }
    // Proceed in any case.
    return true;
}
项目:cas-5.1.0    文件:CasThemesConfiguration.java   
@ConditionalOnMissingBean(name = "themeResolver")
@Bean
public ThemeResolver themeResolver() {
    final String defaultThemeName = casProperties.getTheme().getDefaultThemeName();
    return new ServiceThemeResolver(defaultThemeName, servicesManager, serviceThemeResolverSupportedBrowsers);
}
项目:jtwig-spring    文件:ThemePrefixResolver.java   
public ThemePrefixResolver(ThemeResolver themeResolver) {
    this.themeResolver = themeResolver;
}
项目:spring4-understanding    文件:RequestContextUtils.java   
/**
 * Return the ThemeResolver that has been bound to the request by the
 * DispatcherServlet.
 * @param request current HTTP request
 * @return the current ThemeResolver, or {@code null} if not found
 */
public static ThemeResolver getThemeResolver(HttpServletRequest request) {
    return (ThemeResolver) request.getAttribute(DispatcherServlet.THEME_RESOLVER_ATTRIBUTE);
}
项目:class-guard    文件:RequestContextUtils.java   
/**
 * Return the ThemeResolver that has been bound to the request by the
 * DispatcherServlet.
 * @param request current HTTP request
 * @return the current ThemeResolver, or {@code null} if not found
 */
public static ThemeResolver getThemeResolver(HttpServletRequest request) {
    return (ThemeResolver) request.getAttribute(DispatcherServlet.THEME_RESOLVER_ATTRIBUTE);
}