Теги Struts и язык выражений - PullRequest
0 голосов
/ 11 июля 2009

У меня проблема с использованием языка выражений и тегов Struts вместе в проекте struts2. Следующий фрагмент кода из файла JSP иллюстрирует мою проблему. Объект фрукты передается сервлетом. Я знаю, что ошибка не в сервлете, потому что, когда я закомментирую код формы, он правильно печатает каждый фрукт.

<c:forEach var="fruit" items="${fruits}">
    <c:out value="${fruit}"/>
    <s:form>
        <s:checkbox label="${fruit}"></s:checkbox>
    </s:form>
</c:forEach>

Это не работает, и возвращается следующая ошибка: «В соответствии с TLD или директивой атрибута в файле тега метка атрибута не принимает никаких выражений».

Что мне интересно, есть ли способ сделать это подобным элегантным способом, который не требует языка выражения? Я действительно хочу использовать теги Struts для моей страницы JSP. Я также попробовал с% {fruit} без удачи.

1 Ответ

0 голосов
/ 11 июля 2009

Предлагаю более внимательно прочитать документы по тегам Struts.

Ваш код не выполняется, поскольку метка флажка s: не принимает выражения. Это должен быть простой ярлык, похожий на следующий

<s:checkbox label="Male" name="male" value="true" />
<s:checkbox label="Female" name="male" />

Для вашего примера выше флажок s: может работать лучше. См. http://struts.apache.org/2.0.6/docs/checkboxlist.html для получения дополнительной информации.

...