Обтекание полосы над входами формы не вычисляет значение loop.index для c: foreach - PullRequest
0 голосов
/ 16 февраля 2012

Я делаю все, как в руководстве по полосам, с простым кодом в моем jsp:

<c:forEach items="${management.projects}" var="project" varStatus="loop">
<tr>
<td>
    <c:out value="${loop.index}"/>
    <stripes:text name="project[${loop.index}].projectId"/>
</td>
</tr>
</c:forEach>

, поэтому на странице html я вижу 0,1,2 .. как <c:out...> вычисляемый loop.index, но имя входных данных выглядит как <input name="project[${loop.index}].projectId" type="text"/> вместо <input name="project[0].projectId" type="text"/>

Я пробовал 'и "и разные комбинации <c:set..> и <c:out...>, но ничего не помогает.

Для ввода html формы я обнаружил, что это выглядит <input type="text" name="<c:out value='project[${loop.index}].projectId'/>"/> и это будет выглядеть в основном, но если я попытаюсь использовать его в теге полосы, как

<stripes:text name="<c:out value='project[${loop.index}].projectId'/>"/>

он снова терпит неудачу, тем более - выглядит так:

<input name="<c:out value='project[${loop.index}].projectId'/>" type="text"/>

Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 16 февраля 2012

Какой у вас веб-контейнер и какова его версия? Для ваших нужд EL-манипуляции должны выполняться веб-контейнером перед передачей параметров в теги Stripes.

И я не уверен, возможно ли использовать выражения в name атрибуте text tag.

Jost Go для Tomcat 6 +

0 голосов
/ 16 февраля 2012

Должно работать, можете попробовать

<stripes:text name="project['${loop.index}'].projectId"/>
...