Я хочу проверить каждое содержимое следующего datatable.which набор URL-адресов.
<h:form id="dfCompose" styleClass="form-horizontal">
<h:dataTable styleClass="attachPanel" id="attmsg" width="100%" value="#{ForumTool.attachments}" >
.....................
........................
<f:validator validatorId="forumAndTopicUrlContentValidator" />
<f:attribute name="validationItemLabel" value="#{msgs.cdfm_att}" />
<h:dataTable/>
<h:form/>
Я написал специальный валидатор для проверки содержимого с данными в формате jsf.
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;
public class ForumAndTopicUrlContentValidator implements Validator{
private static final String MESSAGECENTER_BUNDLE = "org.sakaiproject.api.app.messagecenter.bundle.Messages";
@Override
public void validate(FacesContext arg0, UIComponent arg1, Object arg2)
throws ValidatorException {
List inputValue = (List) arg2;
}
}
но когда страница с данными загружается
сбой со следующим исключением во время выполнения
StackTrace:
в org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool (SkinnableCharonPortal.java:1508)
вызвано: org.apache.jasper.JasperException: возникла исключительная ситуация
обработка страницы JSP /jsp/dfCompose.jsp в строке 157
154: 155:
156: 157:
158:
159: 160:
StackTrace:
в org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java:470)
вызвано: java.lang.ClassCastException:
javax.faces.component.html.HtmlDataTable не может быть приведен к
javax.faces.component.EditableValueHolder
в javax.faces.webapp.ValidatorTag.doStartTag (ValidatorTag.java:130)
в org.apache.jsp.jsp.dfCompose_jsp._jspx_meth_f_005fvalidator_005f2 (dfCompose_jsp.java:1627)
в org.apache.jsp.jsp.dfCompose_jsp._jspx_meth_h_005fdataTable_005f0 (dfCompose_jsp.java:1100)
в org.apache.jsp.jsp.dfCompose_jsp._jspService (dfCompose_jsp.java:379)
в org.apache.jasper.runtime.HttpJspBase.service (HttpJspBase.java:70)
на javax.servlet.http.HttpServlet.service (HttpServlet.java:727)
в org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java:432)
в org.apache.jasper.servlet.JspServlet.serviceJspFile (JspServlet.java:390)
в org.apache.jasper.servlet.JspServlet.service (JspServlet.java:334)
на javax.servlet.http.HttpServlet.service (HttpServlet.java:727)
в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:303)
в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:208)
в org.apache.tomcat.websocket.server.WsFilter.doFilter (WsFilter.java:52)
в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:241)
в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:208)
в org.apache.catalina.core.ApplicationDispatcher.invoke (ApplicationDispatcher.java:748)
в org.apache.catalina.core.ApplicationDispatcher.processRequest (ApplicationDispatcher.java:486)
в org.apache.catalina.core.ApplicationDispatcher.doForward (ApplicationDispatcher.java:411)
в org.apache.catalina.core.ApplicationDispatcher.forward (ApplicationDispatcher.java:338
Как я могу проверить контент с данными jsf с помощью пользовательского валидатора?