首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spring Forms -如何检查特定路径上的错误

Spring Forms -如何检查特定路径上的错误
EN

Stack Overflow用户
提问于 2009-10-31 12:47:59
回答 5查看 25.6K关注 0票数 20

我正在使用Spring表单库来处理应用程序中的搜索页面。下面是我的DD中的一段代码,显示了bean的配置:

代码语言:javascript
运行
复制
<bean name="/search.html" class="myapp.web.AccountSearchController">
        <property name="sessionForm" value="true"/>
        <property name="commandName" value="searchAccounts"/>
        <property name="commandClass" value="myapp.service.AccountSearch"/>
        <property name="validator">
            <bean class="myapp.service.AccountSearchValidator"/>
        </property>
        <property name="formView" value="accountSearch"/>
        <property name="successView" value="accountSearch"/>
    </bean>

验证器类非常简单:

代码语言:javascript
运行
复制
package myapp.service;

import org.springframework.validation.Validator;
import org.springframework.validation.Errors;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class AccountSearchValidator implements Validator {

    /** Logger for this class and subclasses */
    protected final Log logger = LogFactory.getLog(getClass());

    public boolean supports(Class clazz) {
        return AccountSearch.class.equals(clazz);
    }

    public void validate(Object obj, Errors errors) {
        AccountSearch accountSearch = (AccountSearch) obj;
        if (accountSearch == null) {
            errors.rejectValue("domainName", "error.accountSearch.neither-specified", null, "Value required.");
        } else if (accountSearch.getAccountId().isEmpty() && 
                   accountSearch.getDomainName().isEmpty() ) {
            errors.rejectValue("domainName", "error.accountSearch.neither-specified", null, "Value required.");
        }
    }
}

在我的JSP中,我的表单显示在一个HTML表中。我希望字段特定的错误作为单独的表行显示在相应的字段下。下面是一段代码:

代码语言:javascript
运行
复制
            <tr>
                <td align="right" valign="top"><form:label path="domainName">Domain Name</form:label>:</td>
                <td><form:input path="domainName" size="30"/></td>
            </tr>
            <tr>
                 <td>&nbsp;</td>
                 <td><form:errors path="domainName" cssClass="error"/></td>
            </tr>

我的问题是-如何使错误行的输出以错误的存在为条件?可以从我的JSP访问Validator实例吗?对c:if标签的测试是什么?

谢谢,

-aj

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1653438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档