Повторяющиеся записи в ArrayList из формы struts2

1

Мне нужно обновить список объектов из страницы в базу данных. У меня есть приложение, которое разрабатывается с использованием Struts2, плитки, JQuery, Hibernate. Я использовал опцию Custom conversion в struts2 для преобразования коллекции пользовательского типа объекта. Я использовал для объявления коллекции как тип ArrayList/Hasset (попробовал оба объявления). Со страницы, я устанавливаю значение для пользовательских свойств объекта. ниже представлен HTML-код. он имеет только один объект, назначенный в lstRulemaster (0). Я не знаю, что пошло не так для дублирования.

HTML

<tr class="odd">
    <td class="locked" style="width:200px">
        <input type="hidden" name="lstRulemaster(0).masterDataId" value="2" id="hierarchyUpdateForm_lstRulemaster(0)_masterDataId"/>
        <input type="hidden" name="lstRulemaster(0).masterDataCode" value="000000032334307713" id="hierarchyUpdateForm_lstRulemaster(0)_masterDataCode"/>
        <input type="hidden" name="lstRulemaster(0).masterDataRuleMapId" value="1" id="hierarchyUpdateForm_lstRulemaster(0)_masterDataRuleMapId"/>
        000000032334307713 - MONO E/S
    </td>
    <td style="width:60px"></td>
</tr>

JSP

<display:table id="data" name="lstEntities"
sort="external" uid="row" htmlId="rowid" class="tborder tborder1"
excludedParams="*" style="width:100%"
pagesize="${pageCriteria.recordsPerPage}" partialList="true"
size="${pageCriteria.totalRecords}" export="false"
requestURI="hierUpdateMDA.action">
<display:column titleKey="${entity.masterDataDesc}" class="locked"
    style="width:200px" headerClass="locked">
    <s:hidden
        name="lstRulemaster(%{#attr.row_rowNum-1}).masterDataId"
        value="%{searchAttribute.masterData.id}" />
    <s:hidden
        name="lstRulemaster(%{#attr.row_rowNum-1}).masterDataCode"
        value="%{#attr.row.mastervaluecode}" />
    <s:property value="%{#attr.row.mastervaluecode}" /> - <s:property
        value="%{#attr.row.mastervaluedescp}" />
</display:column>

Содержимое файла свойств Conversion.

KeyProperty_lstRulemaster=masterDataCode
Element_lstRulemaster=com.cotyww.bru.core.entity.master.RulesMaster
CreateIfNull_lstRulemaster=true

Когда я печатаю свойства объекта в коллекции, он имеет дублирование. Размер коллекции сам по себе удваивает записи, доступные на странице. Значения также повторяются.

  • 0
    У вас много неуместного кода, который также трудно прочитать. Разместите свой JSP и только соответствующий код.
  • 0
    я отредактировал свой код
Теги:
jsp
struts2
struts

1 ответ

1
Лучший ответ

Когда я изменил синтаксис из lstRulemaster(%{#attr.row_rowNum-1}).%{referenceColumn} в lstRulemaster[%{#attr.row_rowNum-1}].%{referenceColumn} проблема решена. Я не уверен, что представляет собой реальная проблема. любая идея о том, в чем проблема?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню