Struts2中radio標籤使用示例
阿新 • • 發佈:2019-02-20
表單中的性別選項(radio),介面中需要它有個預設值。
實現方法一:
1 為sexs集合建立一個bean類(只需要提供Map的get方法):
public class Sexs{
public Map<String,String> getSexs(){
Map<String,String> sexs
= new HashMap<String,String>(2);
sexs.put("m","男");
sexs.put("f","女");
}
}
2 在介面中使用<s:bean name="Sexs" var="bean" />獲得一個Sexs例項
此時,在radio標籤中就可以使用bean了
<s:radio name="user.sex" list="#bean.sexs" value="'f'">
</s:radio>
注意:value屬性的值是Map中的key,如果key是數字型別的可以寫成:value="1", 如果不是,要寫成value="'f'"(指出是字串)。
實現方法二:
1 為單個的sex元素建立一個bean類:
Public class Sex{
Private String key;
Private String value;
getters;
}
2 建立list集合,可以放到Action元件中,也可以再定義一個bean,只要
能保證在jsp檔案需要的時候能得到它,並且有值。
Public class Sexs{
Private List<Sex> list = new ArrayList<Sex>();
Public List<Sex> getList(){
list.add(new Sex("m","男"));
list.add(new Sex("f","女"));
}
}
3在jsp檔案中使用<s:bean name="Sexs" var="bean"/>獲得Sexs例項
在radio標籤中可以使用
<s:radio name="user.sex" list="#bean.list" listKey="key"
listValue="value" value="'f'">
</s:radio>
實現方法三 :
直接用陣列當選項列表,例如:
<s:radio list="{'男', '女'}"></s:radio>
這樣寫不再需要為其提供listKey和listValue,在轉換成HTML文件時會自動
變為
<input type="radio" id="checkcode_男" value="男"/>
<label for="checkcode_男">男</label>
<input type="radio" id="checkcode_女" value="女"/>
<label for="checkcode_女">女</label>
這樣寫很方便,但是不建議用這種方法,因為這樣生成的value值中有中文,
可能會出現亂碼問題。
radio標籤屬性說明:
name屬性:與其他標籤的作用一樣,是與Action元件中屬性的關聯。
list屬性:生成選項時所用的集合,可以是陣列或者集合,如果是Map,則
會自動填充鍵值對,例如方法一中顯示的是男和女,提交時傳遞的
是m和f。如果是List,則還需要為其提供鍵列表和值列
表,如方法二中所示。
listKey屬性:指定鍵列表
listValue屬性:指定值列表
複選框(checkboxlist),下拉列表(select)等標籤都有這些屬性,用法相似。
實現方法一:
1 為sexs集合建立一個bean類(只需要提供Map的get方法):
public class Sexs{
public Map<String,String> getSexs(){
Map<String,String> sexs
= new HashMap<String,String>(2);
sexs.put("m","男");
sexs.put("f","女");
}
}
2 在介面中使用<s:bean name="Sexs" var="bean" />獲得一個Sexs例項
此時,在radio標籤中就可以使用bean了
<s:radio name="user.sex" list="#bean.sexs" value="'f'">
</s:radio>
注意:value屬性的值是Map中的key,如果key是數字型別的可以寫成:value="1", 如果不是,要寫成value="'f'"(指出是字串)。
實現方法二:
1 為單個的sex元素建立一個bean類:
Public class Sex{
Private String key;
Private String value;
getters;
}
2 建立list集合,可以放到Action元件中,也可以再定義一個bean,只要
能保證在jsp檔案需要的時候能得到它,並且有值。
Public class Sexs{
Private List<Sex> list = new ArrayList<Sex>();
Public List<Sex> getList(){
list.add(new Sex("m","男"));
list.add(new Sex("f","女"));
}
}
3在jsp檔案中使用<s:bean name="Sexs" var="bean"/>獲得Sexs例項
在radio標籤中可以使用
<s:radio name="user.sex" list="#bean.list" listKey="key"
listValue="value" value="'f'">
</s:radio>
實現方法三 :
直接用陣列當選項列表,例如:
<s:radio list="{'男', '女'}"></s:radio>
這樣寫不再需要為其提供listKey和listValue,在轉換成HTML文件時會自動
變為
<input type="radio" id="checkcode_男" value="男"/>
<label for="checkcode_男">男</label>
<input type="radio" id="checkcode_女" value="女"/>
<label for="checkcode_女">女</label>
這樣寫很方便,但是不建議用這種方法,因為這樣生成的value值中有中文,
可能會出現亂碼問題。
radio標籤屬性說明:
name屬性:與其他標籤的作用一樣,是與Action元件中屬性的關聯。
list屬性:生成選項時所用的集合,可以是陣列或者集合,如果是Map,則
會自動填充鍵值對,例如方法一中顯示的是男和女,提交時傳遞的
是m和f。如果是List,則還需要為其提供鍵列表和值列
表,如方法二中所示。
listKey屬性:指定鍵列表
listValue屬性:指定值列表
複選框(checkboxlist),下拉列表(select)等標籤都有這些屬性,用法相似。