當提交表單時,只能在后臺獲得listKey的值,而" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

獲取的listValue

系統 1875 0

在開發中我們常用到struts2的form表單組件,其中select最常用的寫法如下:

?????<s:select label="對象類型" name="emp.deptId" list="listValues" listKey="oid" listValue="name" headerKey="" headerValue="--請選擇--" ? ?onchange="changeHidenValue(this)"></s:select>

?????當提交表單時,只能在后臺獲得listKey的值,而無法提交listValue的值。

?????現有需求同時提交listKey和listValue,解決方法如下:

?????1、在select的onchange事件函數中,獲得option中的text,即listValue。

?????2、這時,寫回到表單的一個隱藏域中。

?????首先,在<s:select>標簽中添加 (onchange="changeHidenValue(this)")。然后在表單中添加隱藏域<input type=hidden id="deptName" name="emp.deptName" value=""/>。最后寫事件綁定函數,如下:

?????

?????function changeHidenValue(elem){

?????????var optionVal= ? $(elem).find("option:selected").text(); ? ?// 取到選中的listValue(Option)的值

?????????$("#deptName").val(optionVal);

?????}

?????點擊表單提交測試一下,結果正確!

?

?

?

================== struts2 s:select 標簽=============

1 靜態生成

?

  1. < s:select ? name = "user.sex" ? list = "#{'0':'男','1':'女'}" ? label = "性別" ? headerKey = "" ? headerValue = "請選擇性別" > </ s:select > ?

?

?

注解:這里從頁面來靜態(也就是在頁面中寫死啦)構造下拉選項,關鍵點是list="#{'0':'男','1':'女'}" 通過它實現的select的兩個option 。headerKey指定缺省的選項"key",headerValue指定缺省的選項"value"。

獲取<s:select>的listValue

2.設置下拉框數據源

?

  1. < %?
  2. ??????? java.util.HashMap ? map ?= ? new ?java.util.LinkedHashMap();?
  3. ??????? map.put(1, "aaa");?
  4. ??????? map.put(2, "bbb");?
  5. ??????? map.put(3, "ccc");?
  6. ??????? request.setAttribute("map", map);?
  7. ??????? request.setAttribute("aa", "2");?
  8. % > ?

?

?

  1. < s:select ? list = "#request.map" ? ? label = "abc" ? listKey = "key" ? listValue = "value" ? value = "#request.aa" ? headerKey = "0" ? headerValue = "aabb" > ?
  2. </ s:select > ?



?

?



?

?

value的值設置為了2,所以初始化下拉框時,會自動選擇key值為2的選項

獲取<s:select>的listValue

?

3.action傳遞list過來

?

  1. public ? class ?Program ? implements ?Serializable {?
  2. ??? ? /**??? serialVersionUID */ ?
  3. ??? ? private ? static ? final ? long ?serialVersionUID = 1L;?
  4. ??? ? private ? int ?programid;?
  5. ??? ? private ?String programName;?
  6. ??? ? public ? int ?getProgramid() {?
  7. ??????? ? return ?programid;?
  8. ??? }?
  9. ??? ? public ? void ?setProgramid( int ?programid) {?
  10. ??????? ? this .programid = programid;?
  11. ??? }?
  12. ??????? ? public ?String getProgramName() {?
  13. ??????? ? return ?programName;?
  14. ??? }?
  15. ??? ? public ? void ?setProgramName(String programName) {?
  16. ??????? ? this .programName = programName;?
  17. ??? }?
  18. }?

?

action

  1. xxxAction ? extends ? ? extends ?ActionSupport {?
  2. ??? ? private ? List<Program> programs ; //list集合 ?
  3. ?????? ? public ?List<Program> getPrograms() {?
  4. ??????? ? return ?programs;?
  5. ??? }?
  6. ??? ? public ? void ?setPrograms(List<Program> programs) {?
  7. ??????????? ? this .programs = programs;?
  8. ??? }?
  9. }?

jsp頁面

  1. < s:select ? list = "programs " ? ? listValue = "programName " ? listKey = "programid " ? ? name = "program" ? id = "program" ?
  2. ?????????? ? headerKey = "0l" ? headerValue = "" ? > ?
  3. </ s:select > ???


?

?

listKey說明下拉框的key值對應 programid字段,listValue說明下拉框的顯示部分對應programName字段

獲取 的listValue


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 凌源市| 乌兰察布市| 平泉县| 东乡族自治县| 庄浪县| 嵩明县| 桃园县| 山阴县| 浠水县| 龙岩市| 进贤县| 铅山县| 铁岭市| 贵定县| 凤城市| 和平区| 青阳县| 洪洞县| 年辖:市辖区| 高陵县| 庆云县| 油尖旺区| 澄迈县| 泸西县| 伊宁市| 夏邑县| 玛多县| 南陵县| 从化市| 聂荣县| 南郑县| 江川县| 稷山县| 邢台市| 新营市| 崇信县| 且末县| 子长县| 惠东县| 闽清县| 新竹市|