2013-10-08 107 views
-1

我是Spring MVC的新手。我的代碼曾經工作,但我改變了一些,現在失敗了。不幸的是,我不明白那裏有什麼問題。這是我得到的錯誤。任何想法?MVC spring異常

public class Site { 

    private String siteName; 
    private String emailFromAddress; 
    private String customerServicesEmailAddress;  
    private String googleAnalyticsAccountId;  
    private String doNotReplyEmailAddress; 
    private String customerServicesTelephoneNumber; 
    private String takeoverCss; 
    private String helpUrl; 
    private boolean isSubsite; 
    private int searchResultsPerPage; 
    private List<BlackWord> blackList; 
    private List<QueryOverride> listOverrides; 
    ... 
    } 
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors 
    Field error in object 'site' on field 'listOverrides': rejected value [9]; codes [typeMismatch.site.listOverrides,typeMismatch.listOverrides,typeMismatch.java.util.List,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [site.listOverrides,listOverrides]; arguments []; default message [listOverrides]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'java.util.List' for property 'listOverrides'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [java.lang.String] to required type [com.company.tabernus.commerce.domain.QueryOverride] for property 'listOverrides[0]': no matching editors or conversion strategy found] 
     org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:894) 
     org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789) 
     javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 
     javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
     org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311) 
     org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116) 
     org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) 
     org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) 
     org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) 
     org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) 
     org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101) 
     org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) 
     org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113) 
     org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) 
     org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146) 
     org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) 
     org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54) 
     org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) 
     org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45) 
     org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) 
     org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182) 
     org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) 
     org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105) 
     org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) 
     org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) 
     org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323) 
     org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173) 
     org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) 
     org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) 

回答

1

我想最有用的行是這樣的:

不能類型的值轉換[java.lang.String中]所需類型[com.thehutgroup.tabernus.commerce.domain.QueryOverride]財產「listOverrides [0]」:沒有匹配編輯或轉換戰略發現

春天試圖把String類型的值到listOverrides,但不知道如何將String轉換爲QueryOverride。如果您現在沒有做任何完全錯誤的事情,那麼您可以通過修復來解決問題,Spring需要知道如何在字符串和QueryOverrides之間進行轉換(最有可能:兩個方向)。您可能需要查看type converters