gpt4 book ai didi

java - 在Java中将两个列表组合成set/hash/map,然后在Struts 1.x中显示

转载 作者:搜寻专家 更新时间:2023-11-01 03:12:23 24 4
gpt4 key购买 nike

首先,这两个列表包含不同的数据集,但是通过 get 方法中的一些变量组合最终包含相同类型的数据。最终目标是填充一个下拉列表,其中两个列表根据它们的名称(描述)排序在一起。

基本原理是有两个表保存数据类型,但保存数据的方式如此不同以至于几乎不可能编写一个好的 SQL 语句来将其取出。最终结果是“名称”或“名称索引”对象。

两者都有一个索引代码,但这与相对的表无关,它与存储在需要用此代码更新的第三个表中的内容有关。代码永远不会在表之间匹配(一个是两个字符长,另一个是 3 个或更多)。

我如何将这两个列表合并到用户的下拉列表中,以便下拉列表的值是索引代码和显示为标签的描述?

例子:

<html:select property="name">
<html:optionsCollection name="nameList" label="nameDescription" value="nameCode" />
</html:select>

<html:select property="nameIndex">
<html:optionsCollection name="nameIndexList" label="nameIndexDescription" value="nameIndexId.nameCode" />
</html:select>

(注意“nameIndexId.nameCode”值):

<html:select property="allNames">
<html:optionsCollection name="allNames" label="nameDescription" value="nameCode" />
</html:select>

最佳答案

虽然几乎不可能,但并非完全不可能。我在 SQL 中创建了一个 View ,以使用我需要的数据同时提取两个列表,这是我的答案:

CREATE OR REPLACE VIEW FULL_NAME_LIST_VIEW AS SELECT 
N.NAME_ID AS ID,
N.DISPLAY DISPLAY,
'BOSS' TYPE
FROM NAME N
UNION
SELECT
NI.NAME_INDEX_ID AS ID,
(FIRST.DISPLAY || ' - ' || LAST.DISPLAY) AS DISPLAY,
NI.TYPE_ID TYPE
FROM NAME_INDEX NI,
NAMEHOLDER FIRST,
NAMEHOLDER LAST
WHERE NI.FIRST_ID = FIRST.NAME_ID
AND NI.LAST_ID = LAST.LAST_ID;

这将创建一个 View ,您可以像任何普通表一样为 ID、DISPLAY 和 TYPE 的值创建一个 View 。这可能不是经常遇到的问题,但对于将来无法更改数据结构时遇到此类垃圾的任何人来说,这是一个很好的解决方案。

关于java - 在Java中将两个列表组合成set/hash/map,然后在Struts 1.x中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7275057/

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