我想问一下如何在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>
答案 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>
代码中。