2012-03-29 59 views
0

你能幫我解決我在做的jsp嗎?我需要提出的是使用s:select在struts2中使用我的下拉列表,其中的列表值將來自操作中的哈希映射。如何在s中填充列表:使用hashmap選擇標籤?

當我閱讀一些論壇問這個問題時,我還沒有讀過任何人可以正確回答這個問題。

在我的Action類,我有此HashMap:

private HashMap<String, String> nationalities ; 

    public HashMap<String, String> getNationalities() { 
    return nationalities ; 
} 

public void setNationalities(HashMap<String, String> nationalities) { 
    this.nationalities = nationalities; 
} 

    public String execute(){ 
    nationalities = new HashMap<String, String>(); 
    nationalities .put("A","American"); 
    nationalities .put("B","Canadian"); 

    return success; 
    } 

..請我如何才能正確地調用這些值在我的JSP映射幫助?

非常感謝..希望你能給我一個答案。

回答

-1
Below tag iterating over map for displaying it's key and respective values.  
    <s:iterator value="nationalities"> 
     <s:property value="key" /> <s:property value="value" /> 
    </s:iterator> 
+0

我相信OP想填充選擇框的值而不是迭代器。 – 2012-03-30 02:29:02

+0

hi Umesh Awasthi,你的權利。在動作類中使用hashmap之前。 s:select在jsp中的實現就像這樣。我想使用hashmap從動作中檢索選項,而不是硬編碼下拉列表中的值。 – Inah 2012-03-30 07:51:30

+0

試試這個例子http://www.mkyong.com/struts2/struts-2-sselect-drop-down-box-example/ – 2012-03-30 08:14:04

3

你的JSP應該是這個樣子:

<s:form action="YourSubmitAction"> 
    <s:select list="nationalities" name="choosenNationality"/> 
    <s:submit/> 
</s:form> 

如果你想提交選定的值,你必須創建行動YourSubmitAction,不要忘了要創建String類型的choosenNationality場setter - 它將被填充相應的鍵(在你的情況下是A/B)。

+0

嗨,謝謝我已經看到了這個簡單的方法在我的預覽搜索。但不幸的是,它並沒有顯示hashmap中的選項。在動作類中使用hashmap之前。 s:select在jsp中的實現就像這樣。我想使用hashmap從動作中檢索選項,而不是硬編碼下拉列表中的值。 – Inah 2012-03-30 07:50:02

+0

我不確定你想說什麼,但我提供的例子是100%。 – PrimosK 2012-03-30 08:37:32

+0

感謝PrimosK。我能夠通過簡單的ArrayList而不是hashmap檢索它::D – Inah 2012-04-04 03:23:10

相關問題