Поля таблицы Struts - PullRequest
       8

Поля таблицы Struts

0 голосов
/ 19 июля 2011

Я просто хотел бы спросить, как передавать значения из JSP в Action в распорках,

У меня есть таблица с ячейками данных с одинаковыми именами свойств, т.е. строки таблицы имеют одинаковое свойство. Struts автоматически передает их как ArrayList в класс Action?

В моей таблице 3 столбца:

userListFullName
userListUserName
softwareProduct -> values from multiple selection in combo box

В этой таблице может быть максимум 15 строк (есть кнопки для добавления / удаления строк)

Фрагмент кода:

<tr class="dataRow" align="center">
<td class="dataCell" align="center">
    <html:text styleId="newSoftwareApplicationList" property="userListFullName"/>
</td>
<td class="dataCell" align="center">
    <html:text styleId="newSoftwareApplicationList" property="userListUserName"/>
</td>
<td class="dataCell" align="center">
    <select id="newSoftwareApplicationList" class="dropdown round_sb" style="width:90%" name="softwareProduct" multiple="true">
        <option value="1">Microsoft Access</option>
        <option value="2">Microsoft Visio Standard</option>
        <option value="3">Microsoft Visio Proffesional</option>
        <option value="4">Microsoft Project Standard</option>
     </select>
</td>

Ответы [ 2 ]

0 голосов
/ 19 июля 2011

Да, Struts автоматически передает их в класс Action.Но вы должны понимать, что <html:text> не сможет обрабатывать несколько значений.Вы должны использовать <html:select> для этого, например.Боюсь, обычный <select> не сможет этого сделать.Struts не несет ответственности за все, что делается снаружи, я имею в виду обычные HTML-теги.Как предложил другой автор, вы должны сгруппировать все свои struts-html-controls в тег <html:form>.

0 голосов
/ 19 июля 2011

У вас должен быть тег form, который должен содержать эту таблицу. Если вы отправите эту форму, Struts отправит значения этого свойства в действие, указанное в поле action тега формы.

Также в вашем действии должны быть открытые методы установки для ваших свойств, иначе вы не сможете получить значения. Например, если у вас есть свойство с именем userListUserName, у вас должен быть такой метод:

public void setUserListUserName(String userListUserName) {
    ...
}
...