Spring 弹簧&x2B;未在jsp上显示portlet错误
Spring3,PortletAPI 我无法在jsp页面上显示验证错误消息,尽管在我的操作映射中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
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" />