Spring 弹簧&x2B;未在jsp上显示portlet错误

Spring 弹簧&x2B;未在jsp上显示portlet错误,spring,spring-mvc,portlet,spring-portlet-mvc,Spring,Spring Mvc,Portlet,Spring Portlet Mvc,Spring3,PortletAPI 我无法在jsp页面上显示验证错误消息,尽管在我的操作映射中bindingResult.hasErrors()returnings true,下面是我的代码。 谢谢你的帮助 下面是我的JSP代码 <portlet:actionURL var="searchDeviceResultsURL"> <portlet:param name="doAction" value="searchDeviceResults" /> </po

Spring3,PortletAPI

我无法在jsp页面上显示验证错误消息,尽管在我的操作映射中
bindingResult.hasErrors()
returnings true,下面是我的代码。 谢谢你的帮助

下面是我的JSP代码

<portlet:actionURL var="searchDeviceResultsURL">
    <portlet:param name="doAction" value="searchDeviceResults" />
</portlet:actionURL>

<form:form method="post" action="${searchDeviceResultsURL}">
<div>
<form:errors path="*" />
</div>
...

<input id="sourceId" /> 
...
</form:form>
下面是我的验证器

public class SearchFormValidator implements Validator {

    public boolean supports(Class<?> klass) {
        return SearchForm.class.isAssignableFrom(klass);
    }

    public void validate(Object target, Errors errors) {
        //SearchForm searchForm = (SearchForm)target;
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "serviceId", "search.service.field.error");
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "sourceId", "search.source.field.error");
        //errors.rejectValue("serviceId", "search.service.field.error");
        //errors.rejectValue("sourceId", "search.source.field.error");  
    }
}
公共类SearchFormValidator实现验证器{
公共布尔支持(类klass){
返回SearchForm.class.isAssignableFrom(klass);
}
公共无效验证(对象目标、错误){
//SearchForm SearchForm=(SearchForm)目标;
ValidationUtils.rejectIfEmptyOrWhitespace(错误,“serviceId”,“search.service.field.error”);
ValidationUtils.rejectIfEmptyOrWhitespace(错误,“sourceId”、“search.source.field.error”);
//errors.rejectValue(“serviceId”、“search.service.field.error”);
//errors.rejectValue(“sourceId”、“search.source.field.error”);
}
}
下面是我的spring配置

<bean id="searchFormValidator" class="com.comcast.triage.form.SearchFormValidator" />

<bean
    class="org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter">
    <property name="webBindingInitializer">
        <bean
            class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer">
            <property name="validator" ref="searchFormValidator" />
        </bean>
    </property>
</bean>

在我的portlet.xml文件中,我有以下运行时选项

<container-runtime-option>
        <name>javax.portlet.actionScopedRequestAttributes</name>
        <value>true</value>
    </container-runtime-option>
    <container-runtime-option>
        <name>javax.portlet.renderHeaders</name>
        <value>true</value>
    </container-runtime-option>
    <container-runtime-option>
        <name>javax.portlet.escapeXml</name>
        <value>false</value>
    </container-runtime-option>

javax.portlet.ActionScopedRequestAttribute
真的
javax.portlet.renderHeaders
真的
javax.portlet.escapeXml
假的

做了两个更改,事情开始起作用

1- form tag
2- form input tag

    <form:form name="searchDeviceForm" commandName="searchForm" method="post" action="${searchDeviceResultsURL}">

<form:input path="accNum" /> 
1-表单标签
2-表单输入标签
1- form tag
2- form input tag

    <form:form name="searchDeviceForm" commandName="searchForm" method="post" action="${searchDeviceResultsURL}">

<form:input path="accNum" />