Struts2中 s:select 標籤相關使用
阿新 • • 發佈:2019-01-30
本沒有想總結這個標籤的,感覺也就那樣,但是確實這個標籤用的太多了,因此還是簡單總結一下
這裡列舉幾個常用的屬性吧:
1、name:用來作為Action中取值的屬性
2、id:可能要做某些取值操作
3、list:在後臺或者自定義的一個取值集合
4、listKey:標籤的key值,也就是我們後臺要獲取到的key(一般不會用value來作為條件。)
5、listValue:標籤的value值,也就是標籤在選擇的時候,會顯示的具體的一個值的解釋(比如地區,key=1 , value=“中國”,那麼就會顯示“中國”這個在介面上,而看不到1)
6、headerKey:預設的key值,一般設為"",0,或者-1等
7、headerValue:預設的value值,一般設為“請選擇”等(自定義就好)
以上就是在s:select標籤中常用的幾個屬性了,接下來就來分析使用下吧:
1、直接在jsp進行定義(不經過後臺傳值進來的)
<s:select name="movie" list="#{1:'火影忍者',2:'海賊王',3:'盜墓筆記',4:'銀魂'}" listKey="key" listValue="value" headerKey="0" headerValue="請選擇"></s:select>
這樣,在後臺,我們就能夠通過定義: private String movie; 然後給出get, set方法就能夠在Action中獲取到movie這個欄位的key值;例如:
public class MovieAction extends BaseAction<Movie> { private String movie; public String save() { // 這裡就能夠直接獲取到movie的值,並直接用movie進行操作 System.out.println(movie); } public String getMovie() { return movie; } public void setMovie(String movie) { this.movie = movie } }
2、首先通過後臺來查詢到一個list/map集合,然後將該集合傳到jsp,在jsp直接用s:select標籤來獲取list,並顯示即可:
public class MovieAction extends BaseAction<Movie> {
// 定義接受下拉框的集合,並給出get,set方法
List<AppVo> appVos = new ArrayList<AppVo>();
// 這是跳轉到新增頁面的方法
public String toAdd() throws Exception
{
// 資料庫查詢App的一個集合,並儲存到集合appVos集合中,並返回,資料庫查詢為:select appId, name from app (只查詢了appId和name兩個欄位)
appVos = appBo.getAppList(appVo);
return SUCCESS;
}
public List<AppVo> getAppVos() {
return appVos;
}
public void setAppVos(List<AppVo> appVos) {
this.appVos = appVos;
}
}
接下來到jsp頁面, 直接用 s:select 標籤來獲取即可,如下:
<!-- name為返回後臺接收下拉框的變數值;list為後臺傳過來的集合,直接取即可;listKey為資料庫查詢的要用來作為key的名稱,這裡是appId;listValue為下拉框要顯示的名稱,這裡為name;headerKey和headerValue看上面介紹 -->
<s:select name="appId" list="appVos" listKey="appId" listValue="name" headerKey="" headerValue="請選擇"></s:select>
這樣,我們在後臺,其實就能夠通過利用上面所說的在定義一個appId變數到後臺,並給出get,set方法就能夠獲取到appId屬性值
總結完了。其他的後續再補充~