天天看點

struts的s:combobox标簽預設值value問題

在部落客的學習日常中,常常遇到問題,注意到總結問題,寫下來幫助自己也幫助大家。

這次遇到的問題是s:combox預設指派value的問題,在新手的時候,很多人應該都會遇到這個問題,這裡用demo說明問題。

register.jsp

<TR>
					<Td class="field">民族</Td>
					<TD align="left">
					<s:combobox list="nations" name="nation"  listKey="id" listValue="idvalue"/>
					</TD>
				</TR>
           

這裡的list是實體,通過action頁面設定傳遞的,相信不是很菜的都能懂,就不多說這個問題了。

name是nation,通過struts.xml進入action層,Action層設定相應的getset方法就可以了,注意裡面的屬性一定是string類型,并且要與name的值一樣,(連資料庫也是一樣的,從資料庫擷取指派就好了,再傳到相應的頁面)背景擷取到後,轉向success.jsp頁面,來回顯。

success.jsp

民族:<s:combobox list="nations" name="nation" listKey="id" listValue="idvalue"></s:combobox><br>
 
           

部落客就是在這裡遇到問題的,假如你在register頁面選的是“漢族”,在success頁面也要顯示你剛剛選的值對吧?那麼問題來了,回顯時,大多都以為要在标簽裡面加value屬性,那麼你就錯了,這裡就是不能加value屬性,直接這樣就好了,struts2能自己識别到,你得到的就是你剛剛選中的值,然後你也可以選其他的值了,者通常用于使用者修改自己的資訊,首先回顯預設值,再修改。就是這樣了。