Как добиться правильных значений для атрибута `name`, когда я использую ‹nested:iteration› внутри ‹nested:iteration› в Struts?

Для рендеринга Map<String, List<MyObject>> у меня есть jsp вот так:

....
<nested:iterate property="MyMap" id="entry">
    <bean:write name="entry" property="key"/>
    <nested:iterate name="entry" property="value" indexId="count" id="myBean">
        <div class="">
            <nested:define name="myBean" id="myBeanName" property="name"/>
            <nested:hidden property="description"></nested:hidden>
            <nested:hidden name="myBean" property="name"/>
            <nested:checkbox styleId='<%="enabled-"+myBeanName%>' property="enabled"/>
            <label for="enabled-<nested:write name="myBeanName" property="name"/>"><nested:write name="myBeanName" property="description"/></label>
        </div>
    </nested:iterate>
</nested:iterate>
....

Проблема здесь в том, что после компиляции в HTML мы видим неверные значения атрибута name, хотя атрибуты value корректны:

...
<div class="">
    <input type="hidden" name="value[0].description" value="correct_description">
    <input type="hidden" name="name" value="coorect_name">
    <input type="checkbox" name="value[0].enabled" value="on" id="correct_value">
    <label for="enabled-encDevAddr">correct_description</label>
</div>
...

Как добиться правильных значений атрибута name?


person gstackoverflow    schedule 30.03.2020    source источник
comment
Я не эксперт в struts, но я бы применил такой подход, пытаясь решить эту проблему: проверить исходный код struts в вашей IDE, запустить веб-сервер с открытым удаленным портом отладки, запустить его, подключиться к удаленному отладьте порт из вашей IDE, добавьте несколько точек останова в исходный код struts и посмотрите, что происходит   -  person Boris Pavlović    schedule 31.03.2020
comment
Пожалуйста, используйте тег [java] только в том случае, если проблему можно продемонстрировать с помощью простого класса приложения Java с методом main(), и, таким образом, на вопрос могут ответить эксперты [java]. Ваш вопрос заключается в том, что нет, эксперты [java] не являются по определению экспертами [jsp]. Пожалуйста, используйте тег [jstl] только тогда, когда вопрос касается тегов JSTL, как определено в docs.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/index.html. У вас есть только теги Struts, поэтому используйте вместо них [struts].   -  person BalusC    schedule 31.03.2020
comment
Вы можете найти ответ на свой вопрос здесь stackoverflow.com/a/37890478/573032.   -  person Roman C    schedule 03.04.2020
comment
@Roman C У меня нет Struts 2   -  person gstackoverflow    schedule 03.04.2020
comment
Затем рассмотрите stackoverflow.com/q/20127369/573032   -  person Roman C    schedule 06.04.2020
comment
@Roman C Это огромный унаследованный проект. Мигрировать на struts 2 действительно невозможно. По крайней мере пока   -  person gstackoverflow    schedule 06.04.2020
comment
Невероятный. Я использовал некоторые ответы, чтобы помочь в этом процессе.   -  person Roman C    schedule 08.04.2020