2016-09-14 61 views
1

當用戶選擇wrog date時,數據庫中發生錯誤。提交後(發生錯誤)日期格式錯誤 - Wed Nov 02 00:00:00 GMT 2016異常後的Spring MVC錯誤日期格式

不幸的是,我不能發佈所有的項目代碼。讓我知道你是否需要一些額外的信息或代碼。

我的領域:

public Date getStartDate2() { 
    return offerData.getStartDate(); 
} 

public void setStartDate2(Date dateFrom) { 
    offerData.setStartDate(dateFrom); 
} 

public Date getEndDate2() { 
    return offerData.getEndDate(); 
} 

public void setEndDate2(Date dateTo) { 
    offerData.setEndDate(dateTo); 
} 

初始化粘結劑:

@InitBinder 
public void initBinder(WebDataBinder binder, PortletRequest request) {  

    MemberContext context = getMemberContext(PortalUtil.getHttpServletRequest(request));  
    SimpleDateFormat dateFormat = new SimpleDateFormat(context == null || context.getLocaleData() == null || context.getLocaleData().getDateFormatShort() == null || context.getLocaleData().getDateFormatShort().isEmpty() ? ServerConfig.DATE_FORMAT_SHORT.getPattern() : context.getLocaleData().getDateFormatShort()); 
    dateFormat.setLenient(false); 
    dateFormat.setTimeZone(TimeZoneUtil.getDefault()); 

    binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true)); 
    // Some more code to register property editors 

我通過重寫的doResolveException捕獲異常AbstractHandlerExceptionResolver

@Component 
public class PortalExceptionResolver extends AbstractHandlerExceptionResolver { 

@Override 
protected ModelAndView doResolveException(PortletRequest request, MimeResponse response, Object handler, Exception ex) { 

    ModelAndView out = new ModelAndView(); 

    if(ex instanceof ApplicationException) { 
     ApplicationException e = (ApplicationException)ex; 
     if(isRedirectNeeded(e)) { 
      exceptionViewName = STANDALONE_ERROR_PAGE; 
     } 
     else if(handler instanceof BaseController){ 
      BaseController baseController = (BaseController) handler; 
      exceptionViewName = baseController.getDefaultView(); 
      //TODO: is it really needed? 
      setModelAttributes(out, baseController, request, methodName); 
      setSessionAttributes(out, baseController, request); 
     } 

    // There is more code to set user friendly exception message 

    out.setViewName(exceptionViewName); 
    out.getModel().put(EXCEPTION_MESSAGE, exceptionMessage); 

    out.getModel().put("currentLocale", context != null && context.getLocaleData() != null && context.getLocaleData().getLocale().getLanguage() != null && !context.getLocaleData().getLocale().getLanguage().isEmpty() ? context.getLocaleData().getLocale().getLanguage() : PortletsUtils.getLanguage(((Locale)WebUtils.getSessionAttribute(PortalUtil.getHttpServletRequest(request), CLMServicePreAction.SESSION_LOCALE_KEY)))); 
    out.getModel().put("dateFormat", context != null && context.getLocaleData() != null && context.getLocaleData().getDateFormatShort() != null && !context.getLocaleData().getDateFormatShort().isEmpty() ? context.getLocaleData().getDateFormatShort().toLowerCase() : ServerConfig.DATE_FORMAT_SHORT.getPattern().toLowerCase()); 

    return out; 
} 

編輯: 控制器:

// Interface to connect with database. I haven't control over it. 
// That interface is annotated with @javax.ejb.Remote 
@EJB 
private OfferManagerExtService offerService; 

public void createModel(ActionRequest request, 
     ActionResponse response, Model model, OfferDetailsWrapper form) throws ApplicationException { 
    try{ 
     offerService.createMarketingOffer(ctx.getProcessContext(), form.getOfferData()); // My exception here 
    } catch (ApplicationException e){ 
     // That fix datepickers after exception 
     //form.setStartDate(null); 
     //form.setEndDate(null); 
     throw e; 
    } 
} 

Java應用程序服務器堆棧跟蹤:

09:05:20,351 ERROR [http-bio-8080-exec-6][PortalExceptionResolver:324] ExceptionHandler:OfferDetailsController|Duration of the offer cannot be longer than 30 days|Exception: 
com.firm.jext.lang.ApplicationException: [OFFER_MAX_DURATION_EXCEEDED] Duration of the offer cannot be longer than 30 days 
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:237) 
    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:464) 
    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:272) 
    at com.firm.clmext.marketing.ejb.OfferManagerExtBean_9w42dj_OfferManagerExtServiceImpl_12130_WLStub.createMarketingOffer(Unknown Source) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:84) 
    at com.sun.proxy.$Proxy602.createMarketingOffer(Unknown Source) 
    at com.firm.clm.portal.offer.details.OfferDetailsController.createModel(OfferDetailsController.java:365) 
    at com.firm.clm.portal.offer.details.OfferDetailsController.createModel(OfferDetailsController.java:91) 
    at com.firm.clm.portal.crud.CRUDBaseController.handleCreate(CRUDBaseController.java:171) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:175) 
    at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:369) 
    at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.doHandle(AnnotationMethodHandlerAdapter.java:356) 
    at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.handleAction(AnnotationMethodHandlerAdapter.java:287) 
    at org.springframework.web.portlet.DispatcherPortlet.doActionService(DispatcherPortlet.java:670) 
    at org.springframework.web.portlet.FrameworkPortlet.processRequest(FrameworkPortlet.java:533) 
    at org.springframework.web.portlet.FrameworkPortlet.processAction(FrameworkPortlet.java:473) 
    at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:71) 
    at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:48) 
    at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:112) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:119) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748) 
    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:604) 
    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:543) 
    at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:583) 
    at com.liferay.portlet.InvokerPortletImpl.invokeAction(InvokerPortletImpl.java:628) 
    at com.liferay.portlet.InvokerPortletImpl.processAction(InvokerPortletImpl.java:308) 
    at com.liferay.portlet.PortletContainerImpl._doProcessAction(PortletContainerImpl.java:389) 
    at com.liferay.portlet.PortletContainerImpl.processAction(PortletContainerImpl.java:107) 
    at com.liferay.portlet.SecurityPortletContainerWrapper.processAction(SecurityPortletContainerWrapper.java:109) 
    at com.liferay.portlet.RestrictPortletContainerWrapper.processAction(RestrictPortletContainerWrapper.java:75) 
    at com.liferay.portal.kernel.portlet.PortletContainerUtil.processAction(PortletContainerUtil.java:115) 
    at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:386) 
    at com.liferay.portal.action.LayoutAction.doExecute(LayoutAction.java:200) 
    at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:95) 
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) 
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) 
    at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:168) 
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) 
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) 
    at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:557) 
    at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:534) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) 
    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169) 
    at com.liferay.portal.servlet.filters.uploadservletrequest.UploadServletRequestFilter.processFilter(UploadServletRequestFilter.java:93) 
    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) 
    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169) 
    at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:308) 
    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) 
    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169) 
    at com.liferay.portal.servlet.filters.jsoncontenttype.JSONContentTypeFilter.processFilter(JSONContentTypeFilter.java:42) 
    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:119) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748) 
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486) 
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411) 
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338) 
    at com.liferay.portal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:161) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at com.firm.clm.portal.filters.GlobalCacheFilter.doFilter(GlobalCacheFilter.java:39) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) 
    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169) 
    at com.liferay.portal.servlet.filters.uploadservletrequest.UploadServletRequestFilter.processFilter(UploadServletRequestFilter.java:93) 
    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) 
    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169) 
    at com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.java:361) 
    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) 
    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169) 
    at com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZipFilter.java:123) 
    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) 
    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169) 
    at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:308) 
    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) 
    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169) 
    at com.liferay.portal.servlet.filters.i18n.I18nFilter.processFilter(I18nFilter.java:254) 
    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) 
    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169) 
    at com.liferay.portal.servlet.filters.jsoncontenttype.JSONContentTypeFilter.processFilter(JSONContentTypeFilter.java:42) 
    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) 
    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169) 
    at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:268) 
    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) 
    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169) 
    at com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter.processFilter(NtlmPostFilter.java:83) 
    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) 
    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169) 
    at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:88) 
    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) 
    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169) 
    at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:226) 
    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:185) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96) 
    at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738) 
    at com.liferay.portal.servlet.filters.urlrewrite.UrlRewriteFilter.processFilter(UrlRewriteFilter.java:57) 
    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:165) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:165) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:185) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96) 
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:119) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:957) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:745) 
+0

你可以發佈錯誤記錄痕跡,即錯誤日誌。 –

+0

我已經添加了堆棧跟蹤爲@SheetalMohanSharma建議 –

回答

1

你說,雖然在數據庫中插入時出現錯誤。你似乎在正確的軌道上。你在哪裏看到錯誤發生?數據庫日誌文件? Java堆棧跟蹤? Web服務器日誌文件? Java應用服務器日誌文件?

我在您發佈的代碼中看不到與數據庫相關的部分。也許你想仔細看看日期被插入數據庫的那部分。大多數數據庫都有自己的格式(其中大多數還允許標準格式)。您可以在一定程度上通過使用JDBC(或您使用的任何數據庫層)來緩解日期格式問題。


好。你有一些不錯的堆棧跟蹤。它看起來像一個明確定義的第三方應用程序例外,意味着「所選日期必須在要約的30天範圍內」。所以,你有幾種選擇:

  1. 趕上特定的異常,通過名稱,並報告給用戶界面(如果您有關於該異常的更多文檔,你可以捕捉它)。

  2. 不要讓用戶在用戶界面中輸入過期日期,通過在UI本身驗證它們(如使用JQuery或JQuery的,與-的DatePicker)

  3. 驗證日期(以30天不等)在調用後端方法之前,在你的java代碼中。
+0

它似乎是應用程序中的全局錯誤。當發現異常時,某些數據或綁定會丟失。 1. createMarketingOffer拋出ApplicationException。我沒有關於該例外的更多信息。 2,3我已經在控制器中有這個問題了,所以第二個和第三個建議只是我自己的變體。 'form.setStartDate(null); form.setEndDate(null);' I –