Java 如何使用jstl在jsp中获取数据?
目前,我正在使用scriptlet获取jsp中的数据,但现在想使用JSTL,所以我正在尝试将scriptlet代码转换为JSTL。但对于下面的场景,我不知道如何在jstl中获取数据 让我举例说明: 有3个对象Java 如何使用jstl在jsp中获取数据?,java,jsp,jstl,Java,Jsp,Jstl,目前,我正在使用scriptlet获取jsp中的数据,但现在想使用JSTL,所以我正在尝试将scriptlet代码转换为JSTL。但对于下面的场景,我不知道如何在jstl中获取数据 让我举例说明: 有3个对象 用户(用户id、用户名、密码) 盒子(盒子id、盒子名称、盒子猫列表) 箱猫(箱猫id、箱猫id、用户id、箱猫名称) 现在我需要显示用户自己的框列表。所以,我通过在servlet中启动查询创建了一个Box对象列表,并在请求属性中将该列表传递给jsp,然后在jsp中访问它。直到这一切都好起
现在我需要显示用户自己的框列表。所以,我通过在servlet中启动查询创建了一个Box对象列表,并在请求属性中将该列表传递给jsp,然后在jsp中访问它。直到这一切都好起来。但现在我必须访问BoxCat对象,它没有直接从Box对象中引用任何内容。为了得到BoxCat对象,我必须将Userid和Box id结合起来,然后才能得到BoxCat id。所以在scriptlet中,我调用我的DAO并通过运行查询获得列表。但是我不知道怎么做这个JSTL。有谁能帮我做这件事吗?你应该重新设计或映射你的模型,使之适合你的视图需要的任何东西。视图是否需要
列表
作为用户
的属性,或者可能需要BoxCat
作为Box
的属性?如果是这样的话,那么就这样做,并更改您的控制器和DAO以预先填充它
否则,您将使用实体ID的映射(如
Map
)来解决笨拙且内存效率低下的问题 您应该重新设计或映射您的模型,使其适合您的视图需要。视图是否需要列表
作为用户
的属性,或者可能需要BoxCat
作为Box
的属性?如果是这样的话,那么就这样做,并更改您的控制器和DAO以预先填充它
否则,您将使用实体ID的映射(如
Map
)来解决笨拙且内存效率低下的问题 映射如下:用户可以有多个框。Box可以有多个BoxCat。只有一个BoxCat用于用户和box的唯一组合。在jsp上,我有一个框列表,必须为登录用户显示与该框关联的boxCat名称。我如何做到这一点?在scriptlet中,我运行以下查询:“从boxcat中选择*,其中box_id=“+box.getId()+”和user_id=“+user.getUserId()”;“
并获取boxCat对象,但我无法在JSTL中执行相同的操作。如果您确实无法相应地更改模型,那么最好将当前用户的所有boxCat
项加载到映射中,其中键是框
ID。然后,在EL中,您只需执行${boxCat[Box.ID].name}
显示名称。或者您甚至可以有一个映射,其中值是框名称。我是否必须在请求属性中传递该映射?当然,否则${boxCats}
将不提供任何内容:)映射如下:用户可以有多个Box。Box可以有多个BoxCat。对于用户和Box的唯一组合,只有一个BoxCat。在jsp上,我有Box列表,并且必须为登录用户显示与该框关联的BoxCat名称。我如何做到这一点?在scriptlet中,我运行此查询:”选择*from boxcat where box_id=“+box.getId()+”和user_id=“+user.getUserId()”
并获取boxcat对象,但我无法在JSTL中执行同样的操作。如果确实无法相应地更改模型,那么最好将当前用户的所有boxcat
项加载到映射中,其中键是box
id。然后,在EL中,只需执行${boxCats[box.id].name}
即可显示名称。或者您甚至可以有一个映射
,其中值是框名称。我是否必须在请求属性中传递该映射?哦,当然,否则${boxCats}
将不提供任何信息:)