Jsf проверяет данные каждого содержимого строки с помощью пользовательского валидатора - PullRequest
0 голосов
/ 25 апреля 2018

Я хочу проверить каждое содержимое следующего 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 с помощью пользовательского валидатора?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...