簡體   English   中英

填充列表<string>在表格數據中的 struts2</string>

[英]Populate List<String> in struts2 from form data

我覺得這應該非常明顯,但到目前為止我還沒有找到答案。

我想要一個字符串列表(或一個字符串數組,我真的不在乎)由 Struts2 中的表單數據填充。

我已經看到了幾個如何使用 beans 進行索引屬性的示例,但是將單個字符串包裝在 object 中似乎相當愚蠢。

所以我有類似的東西

    public class Controller extends ActionSupport {

        private List<String> strings = new ArrayList<String>();
        public Controller() {
            strings.add("1");
            strings.add("2");
            strings.add("3");
            strings.add("4");
            strings.add("5");
        }
        public String execute() throws Exception {
            return ActionSupport.SUCCESS;
        }
        public List<String> getStrings() {
            return strings;
        }

        public void setStrings(List<String> s) {
            strings = s;
        }
    }    

...

<s:iterator value="strings" status="stringStatus">
   <s:textfield name="strings[%{#stringStatus.index}]" style="width: 5em" />
</s:iterator>

表單字段填充了它們的初始值(例如 1、2 等),但結果沒有正確回發。 setStrings永遠不會被調用,但值被設置為空字符串。

有人知道發生了什么嗎? 提前致謝!

我相信您擁有它,您的 jsp 代碼將呈現如下內容:

<input type="text" name="strings[0]" style="width: 5em" value="1"/>
<input type="text" name="strings[1]" style="width: 5em" value="2"/>
<input type="text" name="strings[2]" style="width: 5em" value="3"/>
...

請注意,字段引用的名稱是“strings[x]”,因為您需要名稱只是“strings”。 我會建議類似:

<s:iterator value="strings" status="stringStatus">
   <s:textfield name="strings" value="%{[0].toString()}" style="width: 5em" />
</s:iterator>

不確定上面的 value 屬性是否正確,但我認為這樣的事情會讓你得到想要的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM