繁体   English   中英

Thymeleaf和Spring MVC中错误的表单绑定

[英]Wrong form binding in Thymeleaf and Spring MVC

我从Thymeleaf开始。 我只是复制了一个示例,并根据需要对其进行了调整。 但是,它不起作用。 感谢您的帮助。

标签

@Entity 
public class Label {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "label_id")
private Long labelId;

private String label;

public Label() {
}

public Label(Long labelId, String label) {

    this.labelId = labelId;
    this.label = label;
}

public Label(String label) {

    this.labelId = null;
    this.label = label;
}


public Long getLabelId() {
    return labelId;
}

public void setLabelId(Long labelId) {
    this.labelId = labelId;
}

public String getLabel() {
    return label;
}

public void setLabel(String label) {
    this.label = label;
}

@Override
public boolean equals(Object o) {
    if (this == o) return true;
    if (!(o instanceof Label)) return false;

    Label label1 = (Label) o;

    return getLabel().equals(label1.getLabel());
}

@Override
public int hashCode() {

    return Objects.hash(getLabel());
}

@Override
public String toString() {
    return "Label{" +
            "labelId=" + labelId +
            ", label='" + label + '\'' +
            '}';
} }

调节器

@Controller
public class LabelController {


private NoteHandler handler;

@Autowired
public LabelController(NoteHandler handler) {
    this.handler = handler;
}

@RequestMapping(value = "/savelabel", method = RequestMethod.GET)
public String showSaveLabelForm(Model model) {
    model.addAttribute("labelentity", new Label());
    return "labelform";
}

@RequestMapping(value = "/savelabel", method = RequestMethod.POST)
public String submitLabel(@ModelAttribute Label labelentity) {
    return "result";
}    }

labelform.html

> <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head>
>     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
>     <title>Save a New Label</title> </head> <body> <h1>Form</h1> 
><form action="#" th:action="@{/savelabel}" th:object="${labelentity}" method="post">
>     <p>Id: <input type="text" th:field="*{labelId}" /></p>
>     <p>Label: <input type="text" th:field="*{label}" /></p>
>     <p><input type="submit" value="Submit" /> <input type="reset" 
>value="Reset" /></p> </form> </body> </html>

result.html

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Saved Label</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>Result</h1>
<p th:text="'id: ' + ${labelentity.labelId}" />
<p th:text="'label: ' + ${labelentity.label}" />
<a href="/savelabel">Save another label</a>
</body>
</html>

问题:我进入labelform页面,将1填充到ID字段,将abc填入label ,我提交了,这给了我错误

发生意外错误(类型=错误的请求,状态= 400)。 无法将类型“ java.lang.String”的值转换为所需的类型“ krystof.business.Label”; 嵌套异常是org.springframework.core.convert.ConversionFailedException:无法将值“ abc”从类型[java.lang.String]转换为类型[java.lang.Long]; 嵌套的异常是java.lang.NumberFormatException:对于输入字符串:“ abc”

我猜label被错误地绑定到labelId 为什么? 感谢帮助。

控制台输出:

...

:找到的资源处理程序映射:URL pattern =“ / webjars / ”,位置= [类路径资源[META-INF / resources / webjars /]],解析器= [org.springframework.web.servlet.resource.PathResourceResolver@349312d5] 2017-12-29 14:58:30.488 DEBUG 5492 --- [main] oswsresource.ResourceUrlProvider:找到资源处理程序映射:URL pattern =“ / ”,location = [ServletContext资源[/],类路径资源[META-INF / resources /],类路径资源[resources /],类路径资源[static /],类路径资源[public /]],resolvers = [org.springframework.web.servlet.resource.PathResourceResolver@5885e231] 2017年12月-29 14:58:30.573 INFO 5492 --- [main] sbcetTomcatEmbeddedServletContainer:Tomcat在端口上启动:8080(http)2017-12-29 14:58:30.574 DEBUG 5492 --- [main] oswcsStandardServletEnvirononment:添加搜索优先级最高的PropertySource'server.ports'2017-12-29 14:58:30.579 INFO 5492 --- [main] krystof.App
:在8.625秒内启动应用程序(JVM运行9.133)2017-12-29 14:58:39.455 DEBUG 5492-[nio-8080-exec-2] osweb.servlet.DispatcherServlet:初始化servlet'dispatcherServlet'2017-12 -29 14:58:39.460信息5492-[nio-8080-exec-2] oaccC [Tomcat]。[localhost]。[/]:初始化Spring FrameworkServlet'dispatcherServlet'2017-12-29 14:58:39.460 INFO 5492-[[nio-8080-exec-2] osweb.servlet.DispatcherServlet:FrameworkServlet'dispatcherServlet':初始化开始于2017-12-29 14:58:39.460调试5492 --- [nio-8080-exec-2 osweb.servlet.DispatcherServlet
:使用MultipartResolver [org.springframework.web.multipart.support.StandardServletMultipartResolver@6ad6ae45] 2017-12-29 14:58:39.464 DEBUG 5492-[nio-8080-exec-2] osweb.servlet.DispatcherServlet:无法使用名称[localeResolver]定位LocaleResolver:使用默认[org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver@19ac22ef] 2017-12-29 14:58:39.477 DEBUG 5492 --- [nio-8080-exec-2] osweb .servlet.DispatcherServlet:无法找到名称为'themeResolver'的ThemeResolver:使用默认[org.springframework.web.servlet.theme.FixedThemeResolver@2ba12e19] 2017-12-29 14:58:39.484 DEBUG 5492 --- [nio- 8080-exec-2] osweb.servlet.DispatcherServlet:无法找到名称为'viewNameTranslator'的RequestToViewNameTranslator:使用默认[org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@4aca5c03] 2017-12-29 14:58:39.493 DEBUG 5492-[nio-8080-exec-2] osweb.servlet.DispatcherServlet:无法找到名称为'flashMapManager'的FlashMapManager: 使用默认[org.springframework.web.servlet.support.SessionFlashMapManager@6434e440] 2017-12-29 14:58:39.494 DEBUG 5492 --- [nio-8080-exec-2] osweb.servlet.DispatcherServlet:已发布的WebApplicationContext servlet'dispatcherServlet'作为ServletContext属性,名称为[org.springframework.web.servlet.FrameworkServlet.CONTEXT.dispatcherServlet] 2017-12-29 14:58:39.494 INFO 5492 --- [nio-8080-exec-2] osweb。 servlet.DispatcherServlet:FrameworkServlet'dispatcherServlet':初始化在34毫秒完成2017-12-29 14:58:39.494 DEBUG 5492 --- [nio-8080-exec-2] osweb.servlet.DispatcherServlet:Servlet'dispatcherServlet'配置成功2017-12-29 14:58:39.512调试5492-[nio-8080-exec-2] osweb.servlet.DispatcherServlet:名称为'dispatcherServlet'的DispatcherServlet处理[/ savelabel] 2017年12月29日的POST请求:58:39.517 DEBUG 5492 --- [nio-8080-exec-2] swsmmaRequestMappingHandlerMapping:查找路径/ savelabel的处理程序方法2017-12-29 14:58: 39.520 DEBUG 5492 --- [nio-8080-exec-2] swsmmaRequestMappingHandlerMapping:返回处理程序方法[公共java.lang.String krystof.Controller.LabelController.submitLabel(krystof.business.Label)] 2017-12-29 14:58 :39.542 DEBUG 5492 --- [nio-8080-exec-2] osweb.cors.DefaultCorsProcessor:跳过CORS处理:请求来自同一来源2017-12-29 14:58:39.578 DEBUG 5492 --- [nio-8080 -exec-2] .wsmmaServletInvocableHandlerMethod:无法解析类型为“ krystof.business.Label”的参数0

org.springframework.beans.TypeMismatchException:无法将类型“ java.lang.String”的值转换为所需的类型“ krystof.business.Label”; 嵌套异常是org.springframework.core.convert.ConversionFailedException:无法将值“ abc”从类型[java.lang.String]转换为类型[java.lang.Long]; 嵌套的异常是java.lang.NumberFormatException:对于输入字符串:org.springframework.beans.TypeConverterSupport.doConvert(TypeConverterSupport.java:71)上的“ abc”〜[spring-beans-4.3.13.RELEASE.jar:4.3.13 [RELEASE],位于org.springframework.beans.TypeConverterSupport.convertIfNecessary(TypeConverterSupport.java:47)〜[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE],位于org.springframework.validation.DataBinder.convertIfNecessary (DataBinder.java:713)〜[spring-context-4.3.13.RELEASE.jar:4.3.13.RELEASE]在org.springframework.web.servlet.mvc.method.annotation.ServletModelAttributeMethodProcessor.createAttributeFromRequestValue(ServletModelAttributeMethodProcessor.java: 137)〜[spring-webmvc-4.3.13.RELEASE.jar:4.3.13.RELEASE]在org.springframework.web.servlet.mvc.method.annotation.ServletModelAttributeMethodProcessor.createAttribute(ServletModelAttributeMethodProcessor.java:75)〜[spring -webmvc-4.3.13.RELEASE.jar:4.3.13.RELEASE],位于org.springframework.web.method.annotation.ModelAttributeMethodP rocessor.resolveArgument(ModelAttributeMethodProcessor.java:106)〜[spring-web-4.3.13.RELEASE.jar:4.3.13.RELEASE]在org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) )〜[spring-web-4.3.13.RELEASE.jar:4.3.13.RELEASE]在org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:158)[spring-web-4.3.13 .RELEASE.jar:4.3.13.RELEASE],位于org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:128)[spring-web-4.3.13.RELEASE.jar:4.3.13.RELEASE ]在org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)[spring-webmvc-4.3.13.RELEASE.jar:4.3.13.RELEASE]在org.springframework。 web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)[spring-webmvc-4.3.13.REL EASE.jar:4.3.13.RELEASE],位于org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)[spring-webmvc-4.3.13.RELEASE.jar:4.3。 13.RELEASE]在org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)[spring-webmvc-4.3.13.RELEASE.jar:4.3.13.RELEASE]在org.springframework .web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)[spring-webmvc-4.3.13.RELEASE.jar:4.3.13.RELEASE]位于org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java :901)[spring-webmvc-4.3.13.RELEASE.jar:4.3.13.RELEASE],位于org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)[spring-webmvc-4.3.13。在org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)的[RELEASE.jar:4.3.13.RELEASE]在javax的[spring-webmvc-4.3.13.RELEASE.jar:4.3.13.RELEASE] .servlet.http.HttpServlet.service(HttpServle t.java:661)[tomcat-embed-core-8.5.23.jar:8.5.23]在org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)[spring-webmvc-4.3.13 org.apache上的javax.servlet.http.HttpServlet.service(HttpServlet.java:742)的[RELEASE.jar:4.3.13.RELEASE] [tomcat-embed-core-8.5.23.jar:8.5.23]。 catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)[tomcat-embed-core-8.5.23.jar:8.5.23]在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.23.jar:8.5.23],位于org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)[tomcat-embed-websocket-8.5.23.jar :8.5.23],位于org.apache.catalina.core的org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)[tomcat-embed-core-8.5.23.jar:8.5.23]。 org.springframework.web.filter.RequestContextFilter上的ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)[tomcat-embed-core-8.5.23.jar:8.5.23] .doFilterInternal(RequestContextFilter.java:99)[spring-web-4.3.13.RELEASE.jar:4.3.13.RELEASE]在org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)[spring- web-4.3.13.RELEASE.jar:4.3.13.RELEASE],位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)[tomcat-embed-core-8.5.23.jar:8.5。 23] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)[tomcat-embed-core-8.5.23.jar:8.5.23] at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal (HttpPutFormContentFilter.java:108)在org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)上的[spring-web-4.3.13.RELEASE.jar:4.3.13.RELEASE] [spring-web- 4.3.13.RELEASE.jar:4.3.13.RELEASE],位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)[tomcat-embed-core-8.5.23.jar:8.5.23]在org.apache.catalina.core.ApplicationFilterChain.doF ilter(ApplicationFilterChain.java:166)[tomcat-embed-core-8.5.23.jar:8.5.23]在org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81)[spring-web-4.3 .13.RELEASE.jar:4.3.13.RELEASE],位于org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)[spring-web-4.3.13.RELEASE.jar:4.3.13.RELEASE ]在org.apache.catalina.core.ApplicationFilterChain.doFilter(]在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)[tomcat-embed-core-8.5.23.jar:8.5.23] ApplicationFilterChain.java:166)[tomcat-embed-core-8.5.23.jar:8.5.23]在org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)[spring-web-4.3.13 .RELEASE.jar:4.3.13.RELEASE],位于org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)[spring-web-4.3.13.RELEASE.jar:4.3.13.RELEASE] org.apache.catalina.core.ApplicationFilterChain.internalD oFilter(ApplicationFilterChain.java:193)[tomcat-embed-core-8.5.23.jar:8.5.23] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)[tomcat-embed-core -8.5.23.jar:8.5.23]在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)在组织中的[tomcat-embed-core-8.5.23.jar:8.5.23]。 apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)[tomcat-embed-core-8.5.23.jar:8.5.23] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java: 478)[tomcat-embed-core-8.5.23.jar:8.5.23]在org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)[tomcat-embed-core-8.5.23.jar :8.5.23],位于org.apache.catalina.core的org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)[tomcat-embed-core-8.5.23.jar:8.5.23]。 StandardEngineValve.invoke(StandardEngineValve.java:87)[tomcat-embed-core-8.5.23.jar:8.5.23]在org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:342)[tomcat-embed-core-8.5.23.jar:8.5.23]在org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)[tomcat-embed-core- 8.5.23.jar:8.5.23]在org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)[tomcat-embed-core-8.5.23.jar:8.5.23]在org.apache.coyote .AbstractProtocol $ ConnectionHandler.process(AbstractProtocol.java:868)[tomcat-embed-core-8.5.23.jar:8.5.23]在org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun(NioEndpoint.java :1459)[tomcat-embed-core-8.5.23.jar:8.5.23]在org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)[tomcat-embed-core-8.5。 23.jar.8.5.23],位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[na:1.8.0_131],位于java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617 )[na:1.8.0_131] at org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run(TaskThread.java:61)[tomcat-embed-core-8.5.23.jar:8.5.23] at j ava.lang.Thread.run(Thread.java:748)[na:1.8.0_131]原因:org.springframework.core.convert.ConversionFailedException:无法从类型[java.lang.String]转换为类型[java] .lang.Long]的值“ abc”; 嵌套异常是java.lang.NumberFormatException:对于输入字符串:org.springframework.core.convert.support.ConversionUtils.invokeConverter(ConversionUtils.java:43)处的“ abc”〜[spring-core-4.3.13.RELEASE.jar :4.3.13.RELEASE]在org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:203)〜[spring-core-4.3.13.RELEASE.jar:4.3.13.RELEASE]在org .org.springframework.data.repository.support的.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:187)〜[spring-core-4.3.13.RELEASE.jar:4.3.13.RELEASE]。 DomainClassConverter $ ToEntityConverter.convert(DomainClassConverter.java:157)〜[spring-data-commons-1.13.9.RELEASE.jar:na] at org.springframework.core.convert.support.ConversionUtils.invokeConverter(ConversionUtils.java:37 )〜[spring-core-4.3.13.RELEASE.jar:4.3.13.RELEASE]在org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:203)〜[spring-core-4.3。 1 3.org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:173)〜[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]中的3.RELEASE.jar:4.3.13.RELEASE] org.springframework.beans.TypeConverterSupport.doConvert(TypeConverterDelegate.java:108)〜[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE] org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:108) :64)〜[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE] ...省略了56个共同的框架原因:java.lang.NumberFormatException:对于输入字符串:java.lang上的“ abc” .NumberFormatException.forInputString(NumberFormatException.java:65)〜[na:1.8.0_131]在java.lang.Long.parseLong(Long.java:589)〜[na:1.8.0_131]在java.lang.Long.valueOf (Long.java:803)〜[na:1.8.0_131],位于org.springframework.util.NumberUtils.parseNumber(NumberUtils.java:211)〜[spring-core-4.3.13.RELEASE.jar:4.3.13。 [发布],位于org.springframework.core.convert.support.StringToNumberConverterFactory $ StringToNumber.con vert(StringToNumberConverterFactory.java:62)〜[spring-core-4.3.13.RELEASE.jar:4.3.13.RELEASE]在org.springframework.core.convert.support.StringToNumberConverterFactory $ StringToNumber.convert(StringToNumberConverterFactory.java:49 )〜[spring-core-4.3.13.RELEASE.jar:4.3.13.RELEASE]在org.springframework.core.convert.support.GenericConversionService $ ConverterFactoryAdapter.convert(GenericConversionService.java:436)〜[spring-core- 4.3.13.RELEASE.jar:4.3.13.RELEASE],位于org.springframework.core.convert.support.ConversionUtils.invokeConverter(ConversionUtils.java:37)〜[spring-core-4.3.13.RELEASE.jar:4.3 .13.RELEASE] ...省略了64个共同的框架

2017-12-29 14:58:39.579调试5492--[nio-8080-exec-2] .mmaExceptionHandlerExceptionResolver:从处理程序[公共java.lang.String krystof.Controller.LabelController.submitLabel(krystof.business。标签)]:org.springframework.beans.TypeMismatchException:无法将类型“ java.lang.String”的值转换为所需的类型“ krystof.business.Label”; 嵌套异常是org.springframework.core.convert.ConversionFailedException:无法将值“ abc”从类型[java.lang.String]转换为类型[java.lang.Long]; 嵌套异常为java.lang.NumberFormatException:对于输入字符串:“ abc” 2017-12-29 14:58:39.581 DEBUG 5492 --- [nio-8080-exec-2] .wsmaResponseStatusExceptionResolver:从处理程序中解析异常[public java .lang.String krystof.Controller.LabelController.submitLabel(krystof.business.Label)]:org.springframework.beans.TypeMismatchException:无法将类型“ java.lang.String”的值转换为所需的类型“ krystof.business.Label” “; 嵌套异常是org.springframework.core.convert.ConversionFailedException:无法将值“ abc”从类型[java.lang.String]转换为类型[java.lang.Long]; 嵌套异常为java.lang.NumberFormatException:对于输入字符串:“ abc” 2017-12-29 14:58:39.592调试5492 --- [nio-8080-exec-2] .wsmsDefaultHandlerExceptionResolver:从处理程序中解决异常[公共java .lang.String krystof.Controller.LabelController.submitLabel(krystof.business.Label)]:org.springframework.beans.TypeMismatchException:无法将类型“ java.lang.String”的值转换为所需的类型“ krystof.business.Label” “; 嵌套异常是org.springframework.core.convert.ConversionFailedException:无法将值“ abc”从类型[java.lang.String]转换为类型[java.lang.Long]; 嵌套异常为java.lang.NumberFormatException:对于输入字符串:“ abc” 2017-12-29 14:58:39.593 WARN 5492 --- [nio-8080-exec-2] .wsmsDefaultHandlerExceptionResolver:无法绑定请求元素:org .springframework.beans.TypeMismatchException:无法将'java.lang.String'类型的值转换为所需的'krystof.business.Label'类型; 嵌套异常是org.springframework.core.convert.ConversionFailedException:无法将值“ abc”从类型[java.lang.String]转换为类型[java.lang.Long]; 嵌套异常是java.lang.NumberFormatException:对于输入字符串:“ abc” 2017-12-29 14:58:39.593调试5492 --- [nio-8080-exec-2] osweb.servlet.DispatcherServlet:将null的ModelAndView返回名称为'dispatcherServlet'的DispatcherServlet:假设HandlerAdapter完成请求处理2017-12-29 14:58:39.594 DEBUG 5492 --- [nio-8080-exec-2] osweb.servlet.DispatcherServlet:成功完成请求2017-12-29 14:58:39.606 DEBUG 5492 --- [nio-8080-exec-2] osweb.servlet.DispatcherServlet:名称为'dispatcherServlet'的DispatcherServlet处理[/ error]的POST请求2017-12-29 14:58:39.607 DEBUG 5492 --- [nio-8080-exec-2] swsmmaRequestMappingHandlerMapping:查找路径/错误的处理程序方法2017-12-29 14:58:39.610调试5492 --- [nio-8080-exec-2] swsmmaRequestMappingHandlerMapping:返回处理程序方法[公共org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.Htt pServletRequest,javax.servlet.http.HttpServletResponse)] 2017-12-29 14:58:39.611 DEBUG 5492 --- [nio-8080-exec-2] osweb.cors.DefaultCorsProcessor:跳过CORS处理:请求来自同一来源2017-12-29 14:58:39.638调试5492-[nio-8080-exec-2] oswsvContentNegotiatingViewResolver:所请求的媒体类型为[text / html,text / html; q = 0.8]基于Accept标头类型和可生产媒体类型[text / html])2017年12月29日14:58:39.654调试5492 --- [nio-8080-exec-2] oswsvContentNegotiatingViewResolver:返回[org.springframework.boot.autoconfigure.web.ErrorMvcAutoConfiguration $ SpelView @ 2b999ee8]基于请求的媒体类型'text / html'2017-12-29 14:58:39.654 DEBUG 5492 --- [nio-8080-exec-2] osweb.servlet.DispatcherServlet
:在名称为“ dispatcherServlet”的DispatcherServlet中渲染视图[org.springframework.boot.autoconfigure.web.ErrorMvcAutoConfiguration$SpelView@2b999ee8] 2017-12-29 14:58:39.694 DEBUG 5492 --- [nio-8080-exec-2 ] osweb.servlet.DispatcherServlet:成功完成请求

对我来说,确切的含义还有些不清楚,为什么自从我尝试了代码后就看到了错误

org.springframework.expression.spel.SpelEvaluationException: EL1007E: Property or field 'labelId' cannot be found on null

我怀疑这种差异归因于您可能已在清单中删除的一些代码。

但是,该问题与以下事实有关:在您的请求请求控制器方法中,您具有以下@ModelAttribute Label labelentity ,这意味着spring将在模型映射中添加带有名称标签的属性,但是您的模板引用了labelentity,因此您需要将其更改为

@ModelAttribute(name = "labelentity")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM