Во-первых, два списка содержат разные наборы данных, однако, благодаря некоторому объединению переменных в методе get, в конечном итоге сохраняются данные одного типа. Конечная цель - заполнить раскрывающийся список обоими списками, отсортированными по их именам (описание).
Основным является то, что есть ДВУХ таблиц, содержащих тип данных, но хранящих их настолько по-разному, что практически невозможно написать хороший оператор SQL, чтобы получить их. Конечным результатом является объект «name» или «nameIndex».
Оба имеют индексный код, но он не связан с противоположной таблицей, он связан с тем, что хранится в третьей таблице, которую необходимо обновить с помощью этого кода. Коды никогда не будут совпадать между таблицами (одна длиной два символа, другая 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>