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

org.springframework.web.servlet.tags.BindErrorsTag 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 javax.servlet.ServletException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;

import org.springframework.lang.Nullable;
import org.springframework.validation.Errors;

/**
 * This {@code } tag provides an {@link Errors} instance in case of
 * bind errors. The HTML escaping flag participates in a page-wide or
 * application-wide setting (i.e. by HtmlEscapeTag or a "defaultHtmlEscape"
 * context-param in web.xml).
 *
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
Attribute Summary
AttributeRequired?Runtime Expression?Description
htmlEscapefalsetrueSet HTML escaping for this tag, as boolean value. * Overrides the default HTML escaping setting for the current page.
nametruetrueThe name of the bean in the request that needs to be inspected for errors. * If errors are available for this bean, they will be bound under the * 'errors' key.
* * @author Rod Johnson * @author Juergen Hoeller * @see BindTag * @see org.springframework.validation.Errors */ @SuppressWarnings("serial") public class BindErrorsTag extends HtmlEscapingAwareTag { /** * Page context attribute containing {@link Errors}. */ public static final String ERRORS_VARIABLE_NAME = "errors"; private String name = ""; @Nullable private Errors errors; /** * Set the name of the bean that this tag should check. */ public void setName(String name) { this.name = name; } /** * Return the name of the bean that this tag checks. */ public String getName() { return this.name; } @Override protected final int doStartTagInternal() throws ServletException, JspException { this.errors = getRequestContext().getErrors(this.name, isHtmlEscape()); if (this.errors != null && this.errors.hasErrors()) { this.pageContext.setAttribute(ERRORS_VARIABLE_NAME, this.errors, PageContext.REQUEST_SCOPE); return EVAL_BODY_INCLUDE; } else { return SKIP_BODY; } } @Override public int doEndTag() { this.pageContext.removeAttribute(ERRORS_VARIABLE_NAME, PageContext.REQUEST_SCOPE); return EVAL_PAGE; } /** * Retrieve the Errors instance that this tag is currently bound to. *

Intended for cooperating nesting tags. */ @Nullable public final Errors getErrors() { return this.errors; } @Override public void doFinally() { super.doFinally(); this.errors = null; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy