Установите значение для DynaActionForm / DynaValidatorForm в JSP - PullRequest
0 голосов
/ 07 января 2012

Я хотел бы установить значение для DynaForm, что легко сделать в классе Action, но я бы хотел сделать это в самой JSP, скопировав значение из сеанса в форму.

<form-bean name="inputCIDs" type="org.apache.struts.validator.DynaValidatorForm">
  <form-property name="containerIDFormat" type="java.lang.String"/>
</form-bean>

Следующий код Java работает в JSP, но есть ли тег Struts 1.x или JSTL, который бы выполнял эквивалентное действие?

<%
    DynaActionForm form = (DynaActionForm) request.getAttribute("inputCIDs");
    form.set("containerIDFormat", session.getAttribute("varInSession"));
%>

Свойство будет использоваться и изменяться пользователем с помощью поля выбора

<html:select property="containerIDFormat">
  <html:options collection="containerIDFormats" property="value" labelProperty="description"/>
</html:select>

Окружающая среда:
Struts 1.2.4
taglibs 1.1.2
JBoss 4.0.2

1 Ответ

0 голосов
/ 07 января 2012

Почему? JSP не подходит для этого типа работы.

<html:hidden property="containerIDFormat" value="${varInSession}"/>

Если вы просто установите значение формы, оно все равно не сохранится при отправке, потому что будет создана новая форма в области запроса. И если это форма сессий, то в JSP есть еще меньше причин для этой работы.

...