2012-07-17 38 views
0

我正在使用struts2和hibernate。如何將列表的值存儲在不同的文本框中(每個文檔都有不同的id)

我有一個jsp頁面加載到一個動作。相關操作類將對象的list作爲存儲在數據庫中的表的行返回。

當頁面加載(所有行存儲在列表中)時,我希望每行的數據以及每個對應的列值顯示在單獨的文本框中,每個文本框都有不同的id。例如,list有15個對象(作爲一個表的行),並且list中的每個對象都有10個屬性(作爲列),那麼我想要10*15 = 150 textboxes每個都有不同的ID。

我該如何做到這一點?與<s:iterator><s:property>我可以只有10個文本框(這等於列數,因爲我們可以只有10個沒有<s:property>)..?

任何幫助將不勝感激。

+0

你有沒有想過使用表格或網格控件? – Olaf 2012-07-17 12:54:19

+0

表只能永久存儲在數據庫中。該表的數據將顯示在jsp頁面上。但是每個單元格(在上面的例子中是150個單元格)顯示在單獨的文本框中,每個文本框應該有一個唯一的ID。我沒有使用任何網格控件,但我只需要在文本框中顯示錶格的數據而不是單元格。你能幫我嗎?我真的被困住了。 – codeofnode 2012-07-17 13:06:42

+0

我的意思是HTML表格。 – Olaf 2012-07-17 13:08:26

回答

3
<s:iterator value="yourList" status="status"> 
<s:textfield name="col1" value="%{prop1}" id="col1-%{#status.count}/> 
<s:textfield name="col2" value="%{prop2}" id="col2-%{#status.count}/> 
<s:textfield name="col3" value="%{prop3}" id="col3-%{#status.count}/> 
<s:textfield name="col4" value="%{prop4}" id="col4-%{#status.count}/> 
<s:textfield name="col5" value="%{prop5}" id="col5-%{#status.count}/> 
<s:textfield name="col6" value="%{prop6}" id="col6-%{#status.count}/> 
<s:textfield name="col7" value="%{prop7}" id="col7-%{#status.count}/> 
<s:textfield name="col8" value="%{prop8}" id="col8-%{#status.count}/> 
<s:textfield name="col9" value="%{prop9}" id="col9-%{#status.count}/> 
<s:textfield name="col10" value="%{prop10}" id="col10-%{#status.count}/> 
<br/> 
</s:iterator> 

雖然,我認爲這是一個糟糕的設計。嘗試使用dataTable或甚至簡單的表格。

+0

感謝您的回答。通過第二次迭代,textfield'col3'的id是什麼? (問剛纔知道我將如何根據我的需要實施) – codeofnode 2012-07-17 13:22:14

+0

'col3-2'我猜。爲什麼不看看生成的HTML – anu 2012-07-17 13:25:12

+0

是的,我會安排這些文本框在HTML表格。謝謝.. :) – codeofnode 2012-07-17 13:32:42