目前,我正在使用scriptlet在jsp中获取数据,但现在想使用JSTL,因此我正在尝试将自己的scriptlet代码转换为JSTL。但是对于以下情况,我不知道如何在jstl中获取数据。

让我举例说明:

有3个物件


用户(user_id,用户名,密码)
Box(box_id,box_name,list_of_boxCat)
BoxCat(box_cat_id,box_id,user_id,cat_name)


现在,我需要显示用户拥有的盒子列表。因此,我通过在servlet中触发查询创建了Box对象的列表,并将该列表在request属性的jsp中传递,然后在jsp中对其进行访问。在此之前,一切正常。但是现在我必须访问BoxCat对象,该对象没有直接来自Box对象的任何引用。要获得BoxCat对象,我必须将Userid和Box ID结合起来,然后才能获得BoxCat ID。因此,在scriptlet中,我调用我的DAO并通过运行查询获取列表。但是我不知道如何执行此JSTL。有人请帮我怎么做?

最佳答案

您应该重新设计或映射模型,使其适合您的视图需求。视图是否需要List<BoxCat>作为User的属性,或者需要BoxCat作为Box的属性?如果是这样,那么就这样做,然后更改您的控制器和DAO以预先填充它。

否则,使用实体的ID(例如Map<Long, Entity>)映射将导致笨拙且可能导致内存效率低下的变通方法。

10-07 13:40