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

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

獲取的listValue

系統 1983 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條評論
主站蜘蛛池模板: 筠连县| 合山市| 调兵山市| 治县。| 石楼县| 云龙县| 永康市| 闵行区| 大厂| 汨罗市| 冷水江市| 宜兰市| 浮梁县| 嘉义市| 沂源县| 泾阳县| 平舆县| 大兴区| 桐城市| 紫阳县| 晋州市| 石狮市| 莱阳市| 南澳县| 驻马店市| 长沙县| 汤阴县| 桐乡市| 柘城县| 乌拉特前旗| 寿阳县| 洛南县| 丹巴县| 宜都市| 广丰县| 平遥县| 周口市| 吴旗县| 江都市| 芷江| 阳新县|