gpt4 book ai didi

java - 使用 Spring MVC 绑定(bind)原始包装类型的属性

转载 作者:行者123 更新时间:2023-12-02 08:07:04 25 4
gpt4 key购买 nike

在我看来,Spring MVC 无法绑定(bind)原始包装类型的属性(例如整数、 boolean 值等)。当它尝试绑定(bind)此类属性时,会引发以下异常。

javax.servlet.ServletException: javax.servlet.jsp.JspException: javax.servlet.jsp.JspException: org.springframework.beans.NotReadablePropertyException: Invalid property 'assigned' of bean class [model.domain.Employee]: Bean property 'assigned' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.WEB_002dINF.jsp.configuration.form.defaultForm_jsp._jspService(defaultForm_jsp.java:87)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1063)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:801)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.tiles.web.startup.TilesFilter.doFilter(TilesFilter.java:75)

一旦我将“分配”属性(getter、setter 和实例变量)的类型从 boolean 值更改为 boolean 值,它就工作得很好。

任何人都可以确认 Spring MVC 无法绑定(bind)原始包装类型的属性吗?如果是这样,有什么解决方法吗?我无法将属性类型更改为 boolean 值,因为此属性中的 null 值对我的应用程序意味着某些内容。

谢谢。

最佳答案

Spring MVC 与 Boolean 配合得很好。

如果 Boolean 的 getter 名为 isAssigned(),则可能会出现此错误。根据JavaBeans naming conventions ,只有 boolean 可以有这种形式的 getter 名称,Boolean 应该有 getAssigned()

关于java - 使用 Spring MVC 绑定(bind)原始包装类型的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3964545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com