2011-07-19 28 views
0

我只是想問問如何從JSP值傳遞給行動支柱,Struts的表格字段

我有一個數據單元具有相同的屬性名,即表中的行具有相同屬性的表。 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

你應該有form標籤,它應該包含該表。如果您提交該表單,struts會將該屬性值發送給表單標記的action字段中指定的操作。

另外你的動作應該有你的屬性的公共setter方法,否則你不能得到值。例如,如果您有屬性,它的名字是userListUserName,你應該有方法是這樣的:

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

是,Struts的不自動將它們傳遞給Action類。但是您必須明白<html:text>將無法​​處理多個值。例如,您必須使用<html:select>。我擔心,一般的<select>將無法​​做到這一點。 Struts不會負責任何在外面做的事情,我的意思是在常規的HTML標記中。正如另一位海報人員所建議的,您必須將所有struts-html-controls歸入​​3210標籤。