两个实体类多对一关联,JSP页面循环遍历的时候怎么显示另一个对象的属性

问题描述

有两个实体类ProInvoice和Product多对一关联,在action里获得ProInvoice的list集合,用session传递到Jsp页面里了,在jsp页面循环遍历的时候怎么能循环显示出product的属性,其中JSP页面里<s:propertyvalue="#proInvoice.product.id"/>能取到值,<s:propertyvalue="#proInvoice.product.name"/>取不到值action里的代码:List<ProInvoice>proInvoiceList=invoiceService.getProInvoiceList(id);Map<String,Object>session=ActionContext.getContext().getSession();session.put("proInvoiceList",proInvoiceList);

实体类代码:publicclassProInvoice{privateintid;privateInvoiceinvoice;privateProductproduct;

publicclassProduct{privateintid;privateStringname;privateStringtype;privateStringpicture;privateDoubleprice;privateSetproWhouses;privateSetproInvoices;

JSP页面<td><divclass="STYLE1"align="center"><s:propertyvalue="#proInvoice.product.id"/></div></td><td><divclass="STYLE1"align="center"><s:propertyvalue="#proInvoice.product.name"/></div></td><td><divclass="STYLE1"align="center"><inputtype="text"name="proInvoice.total"id="price"value="<s:propertyvalue="#proInvoice.total"/>"></div></td>

解决方案

解决方案二:
getset方法弄了?你LIst里面只有ProInvoice对象,没有存到Product对象,怎么取得出来
解决方案三:
你的代码有问题,首先,proInvoiceList是一个List,你在页面遍历时,遍历的每一个对象都是一个ProInvoice ,那你取值是直接用${invoice}就可以在页面显示了。如果要取Product ,只用${product.name}就可以了
解决方案四:
打断点List<ProInvoice>proInvoiceList=invoiceService.getProInvoiceList(id);看看这个proInvoiceList里的product里的name是否有值
解决方案五:
把其中一个实体类作为另外一个实体的属性进行使用。和String字符串一样的使用,String也是一个引用类型的使用,java中的实体类也是可以这样使用的,你试一试。
解决方案六:
这是从菜鸟到高手的一种蜕变!!

时间: 2024-09-20 00:18:24

两个实体类多对一关联,JSP页面循环遍历的时候怎么显示另一个对象的属性的相关文章

mvc4-求助 &amp;amp;lt;MVC4&amp;amp;gt;一个视图,如何对应两个实体类

问题描述 求助 <MVC4>一个视图,如何对应两个实体类 我的页面需要从2张表中读取数据,这两张表有关联. 初次接触Mvc 还请大神帮帮忙 谢谢 解决方案 这很简单: class MyViewModel { public 第一个模型 M1 { get; set; } public 第二个模型 M2 { get; set; } } 将MyViewModel作为你的模型 解决方案二: 写成一个类存放 sql语句直接写,但是字段名称和类中字段名称要对应 解决方案三: 页面我是用 @ViewBag 调

jsp-从数据库中取出数据对应的集合,在JSP页面中遍历出一个表格,数据库中的字段对应的是表格表头名

问题描述 从数据库中取出数据对应的集合,在JSP页面中遍历出一个表格,数据库中的字段对应的是表格表头名 从数据库中取出数据对应的集合,在JSP页面中遍历出一个注册项的列表,每一项都是从数据库中的表中取出的,比如,第一行为用户名,后面是个文本框,第二行是密码,后面还是个文本框,但是有的type是text,有的是password,上传文件对应的是file,如何才能动态解决这个问题,在页面中用foreach,只写一列数据,在页面中得到所有的注册项,这种方法如果不可行,那么请问各位大神,应该如何处理比较

页面修改-在jsp页面中遍历显示后,如何批量修改

问题描述 在jsp页面中遍历显示后,如何批量修改 在jsp页面中遍历显示后,如何在页面进行批量修改 要求显示页面既具有批量修改功能,现在我显示出来了,但是不知道如何批量修改,如何获取更改过的数据进行更新: 页面代码如下: 菜单名菜单标识菜单路径排序操作 value="${menu.menu_name }"> ${menu.operation_no } ${menu.menu_url } value="${menu.sort }"> 子菜单 /c:forE

jsp页面循环集合操作整理_JSP编程

第一种:struts1.2循环遍历元素,name是结果集.引用标签库<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %> <logic:iterate>主要用来处理在页面上输出集合类,集合一般来说是下列之一: 1. java对象的数组 2. ArrayList.Vector.HashMap等 例: 复制代码 代码如下: <logic:iterate

Mybatis多对多关联查询

mybatis3.0添加了association和collection标签专门用于对多个相关实体类数据进行级联查询,但仍不支持多个相关实体类数据的级联保存和级联删除操作.因此在进行实体类多对多映射表设计时,需要专门建立一个关联对象类对相关实体类的关联关系进行描述.下文将以"User"和"Group"两个实体类之间的多对多关联映射为例进行CRUD操作. 建立user表,对应实体类"User",建表语句如下: Sql代码 CREATE TABLE `

实体类的变形【2】—— 行列转换

     上次说了一下在网页里面显示列表数据的情况,这个应用范围太小了,添加.修改怎么办呢?网站的后台管理.OA.CRM等怎么办?还是这样处理显然是不行的.   我们还是看一个小例子,这回是数据库设计的.   假设我们要做一个小学的成绩单,设计一个成绩表 小学生成绩表 字段:学生名称.语文成绩.数学成绩.美术成绩等. 小学里的课程是有限的,就那么几个,都作为字段放在表里面就ok了. 如果我们现在要做一个中学的成绩单呢?物理.化学.生物.地理.历史课程增加了不少,还是往用往表里面增加字段的方式吗?

java-怎么用JAVA创建这样的实体类

问题描述 怎么用JAVA创建这样的实体类 你好, 做项目的时候,会遇到很多这样的问题: 有两个实体类A和B: 实体类A怎么写, 最后可以能达到这样的效果: 实体A(1) 有4个实体B(1),2个实体B(2),5个实体B(3)... 实体A(2) 有3个实体B(1),1个实体B(2),7个实体B(3)... .... 解决方案 很逗比的问题 public class A { /** * 存放b1/ public B[] bs1; /* * 存放b2/ public B[] bs2; /* * 存放

java jpa- 连接数据库生成jpa实体类的java源代码

问题描述 连接数据库生成jpa实体类的java源代码 连接数据库能得到数据库的所有表.表的字段属性注释等都能得到.并且能生成jpa实体类的java源代码 解决方案 说的什么啊??hibernate的annotation吗? 解决方案二: http://download.csdn.net/detail/zt1618/6020609 解决方案三: 源代码是没有,不过你可以试试装个netBeans ,这玩意做你说的这个活很容易. 右键选个包,然后选择通过数据库生成实体类,然后你的实体类就有了: 然后通

JSP页面中的自定义标签2

js|页面 JSP页面中的自定义标签2 带属性的标签 在标签handler中定义属性对于每一个标签属性,都必须在标签handler中定义一个属性以及符合JavaBean结构规范的get和set方法.例如,logic:present标签的标签handler <logic:present parameter="Clear"> 包含下列声明和方法: protected String parameter = null;public String getParameter() { r