淺談struts2標籤中的2個很常用的標籤的用法(radio和select),struts2radio

來源:互聯網
上載者:User

淺談struts2標籤中的2個很常用的標籤的用法(radio和select),struts2radio

1.我們需要在前台的頁面通過radio和select將對應的資料庫中的資料顯示到選項當中,這也是我們做項目中經常需要做的,動態顯示,而不是靜態顯示。


   首先我們需要在頁面中匯入struts2的標籤庫<%@ taglib prefix="s" uri="/struts-tags"%>,一般的我們不用struts2寫一個radio代碼如下:

<input type="RADIO" name="sex" value="男" id="male"/><label for="male">男</label><input type="RADIO" name="sex" value="女" id="female"/><label for="female">女</label>
<s:radio name="gender" list="%{ {'男', '女'} }"></s:radio>

   這樣寫因為在表單裡面,我們都需要改成struts2的標籤形式,用標籤寫更加簡單方便,在struts2標籤中凡是有很多選項的比如radio,select,checkbox等都會有一個list屬性,用來表示選項的集合,還有listkey,listvalue,這2個屬性值,listkey就代表提交給伺服器的值,可能是1,可能是2,等等,listvalue代表是顯示的值,比如上面的代碼,我們將男女放在list中,listkey提交給伺服器的值可能是1,2,3.。。。。,然後通過listvalue來指定顯示在頁面的值,當然如果我們指定list為map,那麼listkey,listvalue就不用寫了,他會自動調用map的key作為listkey,map的value作為listvalue,詳細代碼如下(radio的)使用的OGNL運算式構建一個map,相比較上面的2行代碼這個就很簡單方便了。


2.下面我們看下select中的選項如何動態通過struts2標籤擷取:

   先看下原始的靜態擷取方式:

                            <select name="departmentId" class="SelectStyle">                                <option value="0" selected="selected">請選擇部門</option>                                <option value="7">┠總經理室</option>                                <option value="1">┠市場部</option>                                <option value="2"> ┠諮詢部</option>                                <option value="3"> ┠招生部</option>                                <option value="4">┠教學部</option>                                <option value="5">┠後勤部</option>                            </select> 
下面我們通過struts2標籤來做代碼如下:

                            <s:select name="departmentId" cssClass="SelectStyle"                            list="#departmentList" listKey="id" listValue="name"                            headerKey="" headerValue="請選擇部門">                            </s:select>
解釋下其中屬性的意思:name是你提交給伺服器端的參數意思是你通過name這個屬性提交的那麼在伺服器端也需要一個name這個屬性並且能夠擷取,cssClass是樣式,list對應的資料庫的選項集合,listkey是通過id擷取選listvalue是在頁面顯示對象的name屬性,headerkey是預設選項的id因為在資料庫沒有所以傳一個null,headervalue指的是預設選中的值。







struts2中select標籤的使用方法?

使用方法很簡單,只要知道這個標籤的各屬性代表什麼含義就OK了。
先瞭解這幾個屬性就OK了。
list:一個集合,即下拉式清單中的內容。
listValue:顯示給使用者的內容,即集合中一個對象的屬性。
listKey:實際提交的值。
例如:<s:select list="studentList" listValue="name" listKey="id" />
下拉式清單中的內容是一組學生的集合,而你看到的是name(學生姓名),實際提交的值即id。
自己試下,然後看一下頁面的源檔案就明白了。
 
struts2中select標籤的使用例子

下拉式清單

s:select 標籤輸出一個下拉式清單方塊,相當於HTML代碼中的<select/>

例子:

%@ page contentType="text/html;charset=GBK" %>

<%@ taglib prefix="s" uri="/struts-tags" %>

<h3>使用name和list屬性,list屬性的值是一個列表</h3>

<s:form>

<s:select label="最高學曆" name="education" list="{'高中','大學','碩士','博士'}"/>

</s:form>

<h3>使用name和list屬性,list屬性的值是一個Map</h3>

<s:form>

<s:select label="最高學曆" name="education" list="#{1:'高中',2:'大學',3:'碩士',4:'博士'}"/>

</s:form>

<h3>使用headerKey和headerValue屬性設定header選項</h3>

<s:form>

<s:select label="最高學曆" name="education" list="{'高中','大學','碩士','博士'}"

headerKey="-1" headerValue="請選擇您的學曆"/>

</s:form>

<h3>使用emptyOption屬性在header選項後添加一個空的選項</h3>

<s:form>

<s:select label="最高學曆" name="education" list="{'高中','大學','碩士','博士'}"

headerKey="-1" headerValue="請選擇您的學曆"

emptyOption="true"/>

</s:form>

<h3>使用multiple屬性設定多選</h3>

<s:form>

<s:select label="最高學曆" name="education" list="{'高中&#39......餘下全文>>
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.