`

spring mvc时jsp页面表单关联form属性多层关联问题.

 
阅读更多

最近在做项目的时候,遇见一个问题,项目架构是hibernate spring sprimgmvc,我有么一个类A,A里面有个属性是类B,A和B是多对一关系.我在前台form表单里面保存A的时候也需要把B的id保存起来,我就这么定义了一个input:

<input type="hidden" name="b.id" value="${dataObj.id }"/>
然后我提交表单的时候报错了,错误如下:
org.springframework.beans.NullValueInNestedPathException: Invalid property 'b' of bean class [com.netqin.sample.A]: Value of nested property 'b' is null
提示我b对象是null,我刚开始以为是springmvc 不支持这种级联一层的form赋值,但是想想又感觉不应该不支持,想着想着有看了眼异常,发现说是b is null, 我就在代码里面把b初始化了一下:
private B b;//更改前
private B b = new B();//更改后
竟然发现就好了,成功提交表单.会偷又想了一下,人家确实是提示的说b是空,我觉得springmvc在给级联一层的属性赋值时,会直接调用级联属性的的set方法赋值例如:b.setId();如果这么直接调用的话 b肯定是空啊,


大家以后记住 需要在form里面使用多层级联的时候,一定要把对象先初始化.

发原创帖子不宜,实验方法更不易,还望转载时注明出处!

分享到:
评论

相关推荐

    外文翻译_Spring的web MVC 构架模式.docx

    Spring MVC鼓励与标准技术如Servlet、JSP、JTA、JNDI、JDBC和JDO等协同工作,同时也支持与流行工具如Hibernate、Velocity、Log4J以及Caucho的Hessian/Burlap集成。这使得Spring能够适应各种环境,如Tomcat或Resin,...

    外文翻译-Spring的web-MVC-构架模式.pdf

    这意味着WebWork允许业务对象作为表单的一部分,但Action实例会为视图设置属性和form对象,这与Spring的分离式设计有所不同。 4. **容器和平台独立性**: Spring的web支持可以在任何Servlet容器中运行,如Tomcat或...

    SSH框架理论

    3. **Spring MVC**:Spring框架中的一部分,用于构建基于MVC模式的Web应用程序。 4. **配置管理**:使用XML或Java配置类来管理Spring容器中的bean定义。 #### 五、多层架构概述 SSH框架支持多层架构的设计思想,将...

    JavaEE课程设计,学生成绩管理系统.pdf

    10. **异常处理**:在开发过程中,还需要考虑错误和异常的处理,确保程序在遇到问题时能够优雅地处理并提供有用的反馈。 11. **单元测试与集成测试**:使用JUnit或类似的测试框架对系统进行单元测试,确保每个组件...

    开发者突击:Java Web主流框架整合开发源代码

    3. Form Bean:Struts中的表单类,用于封装用户输入的数据。 4. Servlet和JSP:用于处理HTTP请求和呈现视图的组件。 5. 配置文件:如struts-config.xml、hibernate.cfg.xml和applicationContext.xml,分别配置Struts...

    J2EE学习路线及重要知识点.pdf

    8. **Hibernate**:ORM(对象关系映射)原理,Hibernate的开发步骤,主要接口(尤其是Session),普通属性和关联关系映射,Native SQL,inverse lazy cascade,继承关系映射,HQL,性能优化(一级缓存,二级缓存,...

    struts下载,嵌入开发struts框架必备

    - 优势:提高了代码的可维护性和可扩展性,提供了丰富的标签库简化页面开发,支持国际化和多层应用架构。 - 限制:性能相比后来的框架(如Spring MVC)稍弱,配置繁琐,且不支持注解,学习曲线较陡峭。 6. **...

    java 学习的顺序(初学者)

    学习属性映射和关联关系映射,包括inverse、lazy、cascade等。探讨继承关系映射,HQL查询,性能优化,一级缓存、二级缓存和查询缓存的使用。 第四阶段(三个月): 7. **Spring框架**:理解IOC(Inversion of ...

    struts in action源码

    通过分析这些源码,开发者可以学习到Struts框架中的Action配置、Form Bean、ActionMapping、国际化、异常处理、 Tiles组件、Struts标签库的使用,以及如何结合Spring、Hibernate等其他框架进行集成开发。这是一份...

    java知识点汇总学习路线与笔记

    - **JSform判断**:JavaScript可以用来验证表单输入。 - **DOM编程基础**:DOM是文档对象模型,用于操作HTML和XML文档。 - **JS常用效果**:如TreeView、下拉菜单等。 #### 五、AJAX - **JQuery**:一种流行的...

    J2EE电子商务系统开发从入门到精通:基于Struts和Hibernate技术实现

    - **JSP Model1**:基于JSP页面的简单MVC实现方式,所有的业务逻辑和视图逻辑都写在一个JSP页面中。 - **JSP Model2**:采用Servlet作为控制器,将业务逻辑与视图逻辑分离,提高了代码的复用性和可维护性。 - **...

Global site tag (gtag.js) - Google Analytics