All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.springframework.web.servlet.tags.ThemeTag Maven / Gradle / Ivy

There is a newer version: 6.1.6
Show newest version
/*
 * Copyright 2002-2018 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.springframework.web.servlet.tags;

import org.springframework.context.MessageSource;
import org.springframework.context.NoSuchMessageException;

/**
 * The {@code } tag looks up a theme message in the scope of this page.
 * Messages are looked up using the ApplicationContext's ThemeSource,
 * and thus should support internationalization.
 *
 * 

Regards a HTML escaping setting, either on this tag instance, * the page level, or the web.xml level. * *

If "code" isn't set or cannot be resolved, "text" will be used * as default message. * *

Message arguments can be specified via the {@link #setArguments(Object) * arguments} attribute or by using nested {@code } tags. * *

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Attribute Summary
AttributeRequired?Runtime Expression?Description
argumentsfalsetrueSet optional message arguments for this tag, as a (comma-)delimited * String (each String argument can contain JSP EL), an Object array (used as * argument array), or a single Object (used as single argument).
argumentSeparatorfalsetrueThe separator character to be used for splitting the arguments string * value; defaults to a 'comma' (',').
codefalsetrueThe code (key) to use when looking up the message. If code is not * provided, the text attribute will be used.
htmlEscapefalsetrueSet HTML escaping for this tag, as boolean value. Overrides the default * HTML escaping setting for the current page.
javaScriptEscapefalsetrueSet JavaScript escaping for this tag, as boolean value. * Default is false.
messagefalsetrueA MessageSourceResolvable argument (direct or through JSP EL).
scopefalsetrueThe scope to use when exporting the result to a variable. This attribute * is only used when var is also set. Possible values are page, request, session * and application.
textfalsetrueDefault text to output when a message for the given code could not be * found. If both text and code are not set, the tag will output null.
varfalsetrueThe string to use when binding the result to the page, request, session * or application scope. If not specified, the result gets outputted to the * writer (i.e. typically directly to the JSP).
* * @author Jean-Pierre Pawlak * @author Juergen Hoeller * @see org.springframework.ui.context.Theme * @see org.springframework.ui.context.ThemeSource * @see #setCode * @see #setText * @see #setHtmlEscape * @see HtmlEscapeTag#setDefaultHtmlEscape * @see org.springframework.web.util.WebUtils#HTML_ESCAPE_CONTEXT_PARAM * @see ArgumentTag */ @SuppressWarnings("serial") public class ThemeTag extends MessageTag { /** * Use the theme MessageSource for theme message resolution. */ @Override protected MessageSource getMessageSource() { return getRequestContext().getTheme().getMessageSource(); } /** * Return exception message that indicates the current theme. */ @Override protected String getNoSuchMessageExceptionDescription(NoSuchMessageException ex) { return "Theme '" + getRequestContext().getTheme().getName() + "': " + ex.getMessage(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy