Struts表字段

时间:2011-07-19 03:27:34

标签: java jsp html-table struts-1

我想问一下如何在JSP中将值从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 :(得分:0)

您应该拥有form标记,该标记应包含该表格。如果您提交该表单,struts会将该属性值发送给该操作,该操作在表单标记的action字段中指定。

此外,您的操作应该为您的属性设置公共setter方法,否则您无法获取值。例如,如果您具有名称为userListUserName的属性,则应具有以下方法:

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

答案 1 :(得分:0)

是的,Struts会自动将它们传递给Action类。但您必须明白<html:text>将无法处理多个值。例如,您必须使用<html:select>。我担心,常规的<select>将无法做到这一点。 Struts不会对外面做的任何事情负责,我的意思是在常规HTML标签中。正如其他海报建议的那样,您必须将所有struts-html-controls分组到<html:form>代码中。