2012-01-09 7 views
0

У меня проблема с формой Struts 1, которая содержит логику: итерация отвечает за создание строк, каждая с кнопкой ввода. Проблема возникает, когда я ударил какой-либо из тех, кнопки отправки, динамические данные не правильно были опубликованы и форма не имеют те значения, вот пример:Struts 1 - Row submit

<html:form action="/myAction" styleClass="centeredForm" style="display:inline" > 
    <td class="formLabel">City</td> 
    <td class="formControl"> 
    <bean:define id="cities" name="myForm" 
       property="cities" type="java.util.Collection"/> 
    <html:select styleClass="dashSelect" property="city"> 
     <html:option value="">All Cities</html:option> 
     <html:options collection="cities" 
        property="id" labelProperty="value"/> 
    </html:select> 
    </td> 

    ... Other elements ... 

    <logic:iterate id="myObject" name="myForm" property="myObjects" indexId="index" type="com.test.MyObject"> 
     <% String rowClass = index.intValue() % 2 == 0 ? "even-row" : "odd-row"; %> 
    <tr class="<%=rowClass%>"> 
     <td class="result-cell"><bean:write name="myObject" property="id" />&nbsp;</td> 
     <td class="result-cell"><bean:write name="myObject" property="name" />&nbsp;</td> 
     <td class="result-cell"> 
     <html:select styleClass="dashSelect" name="myObject" property="status"> 
      <html:option value="F">Disabled</html:option> 
      <html:option value="T">Enabled</html:option> 
     </html:select> 
     </td> 

     <td> 
     <html:submit/> 
     </td> 

«Город» часть и отдых за пределами логики: итерация, подходите отлично на «myForm», но «myObject» - нет. Я даже попытался представить это с помощью функции JavaScript, но не смог правильно ее обработать. В настоящее время у меня есть (что html: submit, который я оставил в качестве ссылки) заставляет POST содержать кучу параметров состояния и правильные значения, о которых я упоминал ранее.

Может ли кто-нибудь пролить свет на это?

Дайте мне знать, если вам нужна дополнительная информация.

Большое спасибо!

+0

Не уверен, что вы имеете в виду; вы не используете теги «индексированные» (см. [здесь] (http://struts.apache.org/1.2.7/faqs/indexedprops.html)) или вложенные теги, а также не строят индексированные имена свойств вручную - I Однако не совсем понятно, что не работает. (Кажется, что в некоторых тегах/бобах много усилий, вы рассмотрели использование JSP EL или, по крайней мере, тегов EL Struts, если вы находитесь в устаревшем контейнере?) –

+0

Проблема в том, что когда я ударил submit, в форме нет «myObject», который является информацией для каждой строки, которую я создаю через логику: итерация. Пока я просмотрю индексированные теги. – LdSe

ответ

0

Вместо того, чтобы использовать одну единственную форму, я просто использовал форму внутри логики: итерацию, добавлены индексы для соответствующих свойств и использовать функцию Javascript, чтобы получить остальное.

Спасибо!

0

Logic Iterate: Попробуйте сделать это. Это может вам помочь.

<logic:iterate name="myForm" property="myObjects" id="myObjects" indexId="true"> 
    <tr> 
    <td class="result-cell"><bean:write name="myObjects" property="id" />&nbsp;</td> 
     <td class="result-cell"><bean:write name="myObjects" property="name"/>&nbsp;</td> 
     <td> 
     <html:submit/> 
     </td>  
    </tr> 
</logic:iterate> 
+0

Привет, субод, К сожалению, bean: write не имеет значений или индексированных атрибутов. :( Вы имели смысл использовать еще один? Большое спасибо за ваш ответ! – LdSe

+0

Oh !! Тогда что произойдет, если вы не используете значение и проиндексировано, свойство Показывает какую-либо ошибку или какой результат? мой ответ на обновление попытается сделать это, и все же, если какая-либо проблема сообщит мне. – subodh