java - How to show the hibernate binding validation exception in part of JSP page i.e in one particular div -


while submitting form checking binding errors, since name , short name must non-empty defined in model. while doing giving errors. not sure why.?? can me this.?

company-definition.jsp

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%> <%@ taglib prefix="tg" tagdir="/web-inf/tags"%> <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%> <jsp:usebean id="pagedlistholder" scope="request" type="org.springframework.beans.support.pagedlistholder" />     <main class="container padcontnr">      <div class="row">         <div class="col-md-12">             <h1>company definition</h1>         </div>     </div>      <div class="bg-ltgreen padding-10 margin-t-10 position-re disnone" id="adddetails">     <div class="text-r astric">fields marked asterisk <span class="red">(*)</span> required.</div>     <form:form class="form-horizontal" action="company" modelattribute="company" method="post" onsubmit="">     <form:input type="hidden" id="id" path="id" name="id"/>      <form:input type="hidden" id="actiontype" path="actiontype" name="actiontype"/>       <div class="row">         <div class="col-md-4 col-sm-4 col-xs-12">           <div class="form-group">             <label class="label-bg col-xs-12">name <span class="red">*</span></label>             <div class="col-md-12">               <form:input type="text" id="comname" path="name" name="name" class="form-control" placeholder="unique name"/>               <form:errors path="name" cssstyle="color: #ff0000;"></form:errors>             </div>           </div>           <div class="form-group">             <label class="label-bg col-xs-12">short name <span class="red">*</span></label>             <div class="col-xs-12">               <form:input type="text" id="shortname" path="shortname" name="shortname" class="form-control" placeholder="hcl"/>               <form:errors path="shortname" cssstyle="color: #ff0000;"></form:errors>             </div>           </div>         </div>         <div class="col-md-4 col-sm-4 col-xs-12">           <div class="form-group">             <label class="label-bg col-xs-12">type <span class="red">*</span></label>             <div class="col-xs-12 f-size-16">              <form:select id="companytype" multiple="true" class="form-control" path="companytype">                 <form:options items="${companytypelist}" itemvalue="dropdownvalue" itemlabel="dropdownvalue"/>             </form:select>             </div>           </div>           <div class="form-group" id="dlvry">             <label class="label-bg col-xs-12">delivery unit <span class="red">*</span></label>             <div class="col-xs-12">               <form:select id="deliveryunit" path="deliveryunit" class="form-control">                 <form:options items="${deliveryunitlist}" itemvalue="id" itemlabel="dropdownvalue" />              </form:select>             </div>           </div>         </div>         <div class="col-md-4 col-sm-4 col-xs-12">           <div class="form-group">             <label class="label-bg col-xs-12">status <span class="red">*</span></label>             <div class="col-xs-12">               <form:select id="status" path="status" class="form-control" >                         <form:options items="${statuslist}" itemvalue="id" itemlabel="dropdownvalue" />              </form:select>             </div>           </div>         </div>       </div>       <div class="row">         <div class="col-xs-12 margin-t-10">          <button type="submit" class="btn btn-primary btnsubmit" name = "savecompany" >save</button>          <button type="button"  class="btn btn-default btncancel" name = "company" >cancel</button>         </div>       </div>    </form:form>   </div>         <div id="appconfig">     <div class="row margin-t-10">       <div class="col-md-8 col-sm-8 col-xs-12">         <div class="f-size-16 display-inline-block float-l margin-r-20"> items           <select class="small border-radius2 margin-l-10">             <option value="10">10</option>             <option value="25">25</option>             <option value="50">50</option>             <option value="100">100</option>           </select>         </div>        <c:url value="/company" var="pagedlink">                     <c:param name="action" value="list" />                     <c:param name="p" value="~" />                     <c:if test="${checkactionmode=='true'}">                         <c:param name="checkactionmode" value="true" />                     </c:if>                 </c:url>             <tg:paging pagedlistholder="${pagedlistholder}" pagedlink="${pagedlink}" />                </div>       <div class="col-md-4 col-sm-4 col-xs-12 flt-r padding-t-10"> <a href="javascript:;" id="addbtn" class="sprite add"></a> <a href="javascript:;" id="editbtn" class="sprite edit"></a>  </div>     </div>     <!-- table details -->     <div class="table-responsive margin-t-10">       <table width="100%" border="0" class="table table-striped 4 trclick">         <thead>           <tr>             <th>name</th>             <th>type</th>             <th>delivery unit</th>             <th>status</th>           </tr>         </thead>         <tbody>         <c:foreach var="company" items="${pagedlistholder.pagelist}"                     varstatus="status1">                     <tr>                         <td>${company.name}</td>                         <td>${company.companytypename}</td>                         <td>${company.deliveryunit}</td>                         <%-- <td>${company.shortname}</td> --%>                         <c:choose>                                 <c:when test="${company.status ==1}">                                  <td class="active">active</td>                          </c:when>                                 <c:when test="${company.status ==0}">                                  <td class="inactive">in-active</td>                          </c:when>                             </c:choose>                      </tr>                 </c:foreach>           </tbody>       </table>     </div>   </div> </main>  <%--    <div class="row margin-t-20">         <div class="col-md-8 col-sm-8 col-xs-12">             <div class="f-size-16 display-inline-block float-l margin-r-20">                 items <select class="small border-radius2 margin-l-10">                     <option value="10">10</option>                     <option value="25">25</option>                     <option value="50">50</option>                     <option value="100">100</option>                 </select>             </div>             <c:url value="/company" var="pagedlink">                     <c:param name="action" value="list" />                     <c:param name="p" value="~" />                     <c:if test="${checkactionmode=='true'}">                         <c:param name="checkactionmode" value="true" />                     </c:if>                 </c:url>             <tg:paging pagedlistholder="${pagedlistholder}" pagedlink="${pagedlink}" />                          </div>           <div class="col-md-4 col-sm-4 col-xs-12 flt-r padding-t-10">             <!-- <a href="javascipt:;" id="addbtn_suchi1" class="sprite add"></a>  -->             <a href="javascript:;" id="addbtn" class="sprite add"></a>             <a href="javascipt:;" id="editbtn" class="sprite edit"></a>          </div>     </div>      <!-- table details -->     <div class="table-responsive margin-t-20" id="view-companydata">          <table width="100%" border="0" class="table table-striped five" id="table">             <thead>                 <tr>                     <th>name</th>                     <th>type</th>                     <th>delivery unit</th>                     <th>short name</th>                     <th>status</th>                 </tr>             </thead>             <tbody>                  <c:foreach var="company" items="${pagedlistholder.pagelist}"                     varstatus="status">                     <tr>                         <td>${company.name}</td>                         <td>${company.companytypename}</td>                         <td>${company.deliveryunit}</td>                         <td>${company.shortname}</td>                         <td><c:choose>                                 <c:when test="${company.status ==1}">                                  active                          </c:when>                                 <c:when test="${company.status ==0}">                                 inactive                          </c:when>                             </c:choose></td>                         <td>                     </tr>                 </c:foreach>             </tbody>         </table>     </div> </body> </html> </main> --%> 

companycontroller.java

@requestmapping(value = "/company", params = "savecompany", method = requestmethod.post) public modelandview savecompany(@valid @modelattribute @validated company company, bindingresult result,         httpservletrequest request) throws appexception {      if (result.haserrors()) {         modelandview model = new modelandview("company");         return model;     }      httpsession session = request.getsession();     modelandview model = new modelandview("company");      globalexceptionhandler.initexceptionhandlerrequest(request,"company", model);     initexceptionviewmodellist(model,company);       string companyname = company.getname();     string action = company.getactiontype();      boolean checkcomname = companydao.checkcompanyname(company.getname());     boolean checkcomshortname = companydao.checkcompanyshortname(company.getshortname());     if(action == null)     {         if (checkcomname || checkcomshortname) {             model = getdropdownlist(model);             model.setviewname("addcompany");             if (checkcomname && checkcomshortname) {                 model.addobject("namealreadyexist", "name exists");                 model.addobject("aliasalreadyexist", "alias name exists");                 model.addobject("company", company);                  return model;             }             if (checkcomname) {                 model.addobject("namealreadyexist", "name exists");                 model.addobject("company", company);             }             if (checkcomshortname) {                 model.addobject("aliasalreadyexist", "alias name exists");                 model.addobject("company", company);             }             return model;         }     }        string generatedcode;     try {         /*          * generatedcode = utilities.getnextgeneratedcode(company.getid(),          * "company", "com"); company.setcompany_code(generatedcode);          */      } catch (exception e) {         // todo auto-generated catch block         throw new appexception(iexception.key_generated_code);     }      //       list<company> listcompany = companydao.saveorupdate(company);      pagedlistholder<company> pagedlistholder = new pagedlistholder<company>(listcompany);     int page = servletrequestutils.getintparameter(request, "p", 0);     pagedlistholder.setpage(page);     int pagesize=setpagesize(company,session);      pagedlistholder.setpagesize(pagesize);     model.addobject("pagedlistholder", pagedlistholder);     model.addobject("company", company);     return model;      } 

company- model

package com.hcl.ne.model;  import java.util.date;  import org.hibernate.validator.constraints.notempty;  public class company {      private int id;     private string imagename;     private string company_code;     private string company_prefix_req;       int pagesize;     @notempty(message="field mandatory short name")     private string shortname;     @notempty(message="field mandatory name")     private string name;         private string[] companytype;     private string companytypename;     private string deliveryunit;     private string associatecompanytype;     private string companytypes;     private int userid;     private int status;          private string actiontype;     private date lastupdateddate;     private date createdate;     private string lastupdatedby;     private string createdby;       public string getactiontype() {         return actiontype;     }      public void setactiontype(string actiontype) {         this.actiontype = actiontype;     }      public string getshortname() {         return shortname;     }      public void setshortname(string shortname) {         this.shortname = shortname;     }      public string getdeliveryunit() {         return deliveryunit;     }      public void setdeliveryunit(string deliveryunit) {         this.deliveryunit = deliveryunit;     }       public string getassociatecompanytype() {         return associatecompanytype;     }      public void setassociatecompanytype(string associatecompanytype) {         this.associatecompanytype = associatecompanytype;     }        public string getcompanytypename() {         return companytypename;     }      public void setcompanytypename(string companytypename) {         this.companytypename = companytypename;     }      public int getpagesize() {         return pagesize;     }      public void setpagesize(int pagesize) {         this.pagesize = pagesize;     }        public string getcompany_prefix_req() {         return company_prefix_req;     }      public void setcompany_prefix_req(string company_prefix_req) {         this.company_prefix_req = company_prefix_req;     }      public string getcompany_code() {         return company_code;     }      public void setcompany_code(string company_code) {         this.company_code = company_code;     }        public int getstatus() {         return status;     }      public void setstatus(int status) {         this.status = status;     }      public string[] getcompanytype() {         return companytype;     }      public void setcompanytype(string[] companytype) {         this.companytype = companytype;     }      public company() {     }      public int getid() {         return id;     }      public void setid(int id) {         this.id = id;     }      public string getname() {         return name;     }      public void setname(string name) {         this.name = name;     }        public int getuserid() {         return userid;     }      public void setuserid(int userid) {         this.userid = userid;     }      public string getcompanytypes() {         return companytypes;     }      public void setcompanytypes(string companytypes) {         this.companytypes = companytypes;     }      public string getimagename() {         return imagename;     }      public void setimagename(string imagename) {         this.imagename = imagename;     }      public date getlastupdateddate() {         return lastupdateddate;     }      public void setlastupdateddate(date lastupdateddate) {         this.lastupdateddate = lastupdateddate;     }      public date getcreatedate() {         return createdate;     }      public void setcreatedate(date createdate) {         this.createdate = createdate;     }      public string getlastupdatedby() {         return lastupdatedby;     }      public void setlastupdatedby(string lastupdatedby) {         this.lastupdatedby = lastupdatedby;     }      public string getcreatedby() {         return createdby;     }      public void setcreatedby(string createdby) {         this.createdby = createdby;     }    } 

tiles.xml

    <?xml version="1.0" encoding="utf-8" ?>     <!doctype tiles-definitions public  "-//apache software foundation//dtd tiles configuration 3.0//en"  "http://tiles.apache.org/dtds/tiles-config_3_0.dtd">             <tiles-definitions>                    <!-- base definition -->                <definition name="base-definition"                    template="/web-inf/views/layout/foundation-baselayout.jsp">                      <put-attribute name="title" value="" />                      <put-attribute name="header" value="/web-inf/views/layout/header.jsp" />                      <put-attribute name="foundation-header" value="" />                              <put-attribute name="body" value="" />                      <put-attribute name="footer" value="/web-inf/views/layout/footer.jsp" />                  </definition>                   <!-- company page -->                <definition name="company" extends="base-definition">                      <put-attribute name="title" value="company" />                      <put-attribute name="foundation-header" value="/web-inf      /views/foundation/foundation-header.jsp" />                          <put-attribute name="body" value="/web-inf/views/foundation/company-definition.jsp" />                           </definition>         </tiles-definitions  > 

here error

org.springframework.web.util.nestedservletexception: request processing failed; nested exception org.apache.tiles.request.render.cannotrenderexception: jspexception including path '/web-inf/views/foundation/company-definition.jsp'. @ org.springframework.web.servlet.frameworkservlet.processrequest(frameworkservlet.java:982) @ org.springframework.web.servlet.frameworkservlet.dopost(frameworkservlet.java:872) @ javax.servlet.http.httpservlet.service(httpservlet.java:707) @ org.springframework.web.servlet.frameworkservlet.service(frameworkservlet.java:846) @ javax.servlet.http.httpservlet.service(httpservlet.java:790) @ com.ibm.ws.webcontainer.servlet.servletwrapper.service(servletwrapper.java:1287) @ [internal classes] @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:317) @ org.springframework.security.web.access.intercept.filtersecurityinterceptor.invoke(filtersecurityinterceptor.java:127) @ org.springframework.security.web.access.intercept.filtersecurityinterceptor.dofilter(filtersecurityinterceptor.java:91) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:331) @ org.springframework.security.web.access.exceptiontranslationfilter.dofilter(exceptiontranslationfilter.java:115) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:331) @ org.springframework.security.web.session.sessionmanagementfilter.dofilter(sessionmanagementfilter.java:137) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:331) @ org.springframework.security.web.authentication.anonymousauthenticationfilter.dofilter(anonymousauthenticationfilter.java:111) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:331) @ org.springframework.security.web.servletapi.securitycontextholderawarerequestfilter.dofilter(securitycontextholderawarerequestfilter.java:169) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:331) @ org.springframework.security.web.savedrequest.requestcacheawarefilter.dofilter(requestcacheawarefilter.java:63) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:331) @ org.springframework.security.web.authentication.abstractauthenticationprocessingfilter.dofilter(abstractauthenticationprocessingfilter.java:200) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:331) @ org.springframework.security.web.authentication.logout.logoutfilter.dofilter(logoutfilter.java:121) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:331) @ org.springframework.security.web.csrf.csrffilter.dofilterinternal(csrffilter.java:124) @ org.springframework.web.filter.onceperrequestfilter.dofilter(onceperrequestfilter.java:107) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:331) @ org.springframework.security.web.header.headerwriterfilter.dofilterinternal(headerwriterfilter.java:66) @ org.springframework.web.filter.onceperrequestfilter.dofilter(onceperrequestfilter.java:107) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:331) @ org.springframework.security.web.context.securitycontextpersistencefilter.dofilter(securitycontextpersistencefilter.java:105) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:331) @ org.springframework.security.web.context.request.async.webasyncmanagerintegrationfilter.dofilterinternal(webasyncmanagerintegrationfilter.java:56) @ org.springframework.web.filter.onceperrequestfilter.dofilter(onceperrequestfilter.java:107) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:331) @ org.springframework.security.web.filterchainproxy.dofilterinternal(filterchainproxy.java:214) @ org.springframework.security.web.filterchainproxy.dofilter(filterchainproxy.java:177) @ org.springframework.web.filter.delegatingfilterproxy.invokedelegate(delegatingfilterproxy.java:346) @ org.springframework.web.filter.delegatingfilterproxy.dofilter(delegatingfilterproxy.java:262) @ com.ibm.ws.webcontainer.filter.filterinstancewrapper.dofilter(filterinstancewrapper.java:207) @ [internal classes] caused by: org.apache.tiles.request.render.cannotrenderexception: jspexception including path '/web-inf/views/foundation/company-definition.jsp'. @ org.apache.tiles.impl.basictilescontainer.render(basictilescontainer.java:399) @ org.apache.tiles.impl.basictilescontainer.render(basictilescontainer.java:238) @ org.apache.tiles.impl.basictilescontainer.render(basictilescontainer.java:221) @ org.apache.tiles.renderer.definitionrenderer.render(definitionrenderer.java:59) @ org.springframework.web.servlet.view.tiles3.tilesview.rendermergedoutputmodel(tilesview.java:132) @ org.springframework.web.servlet.view.abstractview.render(abstractview.java:303) @ org.springframework.web.servlet.dispatcherservlet.render(dispatcherservlet.java:1257) @ org.springframework.web.servlet.dispatcherservlet.processdispatchresult(dispatcherservlet.java:1037) @ org.springframework.web.servlet.dispatcherservlet.dodispatch(dispatcherservlet.java:980) @ org.springframework.web.servlet.dispatcherservlet.doservice(dispatcherservlet.java:897) @ org.springframework.web.servlet.frameworkservlet.processrequest(frameworkservlet.java:970) ... 41 more caused by: java.io.ioexception: jspexception including path '/web-inf/views/foundation/company-definition.jsp'. @ org.apache.tiles.request.servlet.servletutil.wrapservletexception(servletutil.java:61) @ org.apache.tiles.request.jsp.jsprequest.doinclude(jsprequest.java:125) @ org.apache.tiles.request.abstractviewrequest.dispatch(abstractviewrequest.java:47) @ org.apache.tiles.request.render.dispatchrenderer.render(dispatchrenderer.java:47) @ org.apache.tiles.request.render.chaineddelegaterenderer.render(chaineddelegaterenderer.java:68) @ org.apache.tiles.impl.basictilescontainer.render(basictilescontainer.java:259) @ org.apache.tiles.template.insertattributemodel.renderattribute(insertattributemodel.java:188) @ org.apache.tiles.template.insertattributemodel.execute(insertattributemodel.java:132) @ org.apache.tiles.jsp.taglib.insertattributetag.dotag(insertattributetag.java:299) @ com.ibm._jsp._foundation_2d_baselayout._jspx_meth_tiles_insertattribute_2(_foundation_2d_baselayout.java:402) @ com.ibm._jsp._foundation_2d_baselayout._jspservice(_foundation_2d_baselayout.java:160) @ com.ibm.ws.jsp.runtime.httpjspbase.service(httpjspbase.java:101) @ [internal classes] @ org.apache.tiles.request.servlet.servletrequest.forward(servletrequest.java:265) @ org.apache.tiles.request.servlet.servletrequest.doforward(servletrequest.java:228) @ org.apache.tiles.request.abstractclientrequest.dispatch(abstractclientrequest.java:57) @ org.apache.tiles.request.render.dispatchrenderer.render(dispatchrenderer.java:47) @ org.apache.tiles.impl.basictilescontainer.render(basictilescontainer.java:259) @ org.apache.tiles.impl.basictilescontainer.render(basictilescontainer.java:397) ... 51 more caused by: java.lang.instantiationexception: bean pagedlistholder not found within scope @ com.ibm._jsp._company_2d_definition._jspservice(_company_2d_definition.java:142) @ com.ibm.ws.jsp.runtime.httpjspbase.service(httpjspbase.java:101) @ [internal classes] @ org.apache.tiles.request.jsp.jsprequest.doinclude(jsprequest.java:123) 

see this solution. think should change type attribute class in <jsp:usebean id="pagedlistholder" scope="request" type="org.springframework.beans.support.pagedlistholder" /> in company-definition.jsp.


Comments

Popular posts from this blog

amazon web services - S3 Pre-signed POST validate file type? -

c# - Check Keyboard Input Winforms -