Struts2框架自己整合了对Ajax的原生支持(struts 2.1.7+,之前的版本可以通过插件实现),框架的整合使得JSON的创建变得异常简单,并且可以简单的融入到Struts2框架中。
下面是一个使用struts2 jquery ajax json 实现下拉框动态下拉项方案:
1、AjaxTestAction.java
package com.suyuening.action; import java.util.ArrayList; import java.util.List; import com.opensymphony.xwork2.ActionSupport; import com.suyuening.bean.SelectBean; public class AjaxTestAction extends ActionSupport { private static final long serialVersionUID = 1172098980143890997L; /** 城市列表 */ private List cityList; /** 省 */ private String province; /** * 取得城市列表 * * @return */ public String getCityListForAjax() { try { // 城市列表一般从数据库取得,这里为简便直接写了固定值。 cityList = new ArrayList(); SelectBean cityBean = new SelectBean(); cityBean.setSelectcode("010"); cityBean.setSelectcode("北京"); cityList.add(cityBean); cityBean = new SelectBean(); cityBean.setSelectcode("021"); cityBean.setSelectcode("上海"); cityList.add(cityBean); } catch (Exception e) { e.printStackTrace(); } return SUCCESS; } public List getCityList() { return cityList; } public void setCityList(List cityList) { this.cityList = cityList; } public String getProvince() { return province; } public void setProvince(String province) { this.province = province; } }
2、AjaxTestAction.xml
3、js方法
function bindCitySelect() { // 省文本框值 var province = $('#province').val(); var options = "-----请选择-----"; if (province != "") { var url="ajaxTestAction!getCityListForAjax.action?province="+province; $.post(url,function(callback){ var cityList= eval('(' + callback + ')').cityList; if(cityList!= null && cityList!= ""){ $.each(cityList,function(index,item){ options+="" + item.selectname + ""; }); $('#city').empty().append($(options)); } }); } else { $('#city').empty().append($(options)); } }
4、jsp文件
省: <input id="province" name="province" size="5" type="text" /> 市:<select id="city" name="city"> <option value="">-----请选择-----</option> </select>
5、SelectBean.java
package com.suyuening.bean; public class SelectBean { private String selectcode; private String selectname; public String getSelectcode() { return selectcode; } public void setSelectcode(String selectcode) { this.selectcode = selectcode; } public String getSelectname() { return selectname; } public void setSelectname(String selectname) { this.selectname = selectname; } }
无意间发现的网站 很不错 挺喜欢的
从松松博客过来的,贵站做的真心不错,我和大学同学也刚做了一个网站,欢迎站长朋友过来看看,能给我提点建议的话就感激不尽了,我的网站是恋字坊http://www.lianzifang.com/
学习了,不过这代码用不上啊
支持博主哦 加油
不错 支持一下
很不错,加油
写的不错来看看。欢迎回访