struts2实现Ajax实例

1.jsp页面jQuery

<span style="font-size:18px;"><script type="text/javascript" language="javascript"> 
	$(function(){
	$("#typeSelect").bind("change",function(){
		//alert($("#typeSelect").val());
		//$("#textCondition").val("");
		var url="ajaxAction.do";
		var type=$("#typeSelect").val();
		//alert(type);
		if(type=="type"){
		//alert(type);
			$("#textCondition").remove();
		 	var select = $("<select id='textCondition' name='condition' class='select' />").insertAfter($("#typeSelect"));
		 	var level = $("#level").val();
		 	var ps={"level":level};
			$.post(url,ps,function(dataMap){
				//有数据
				var html="";
				$.each(dataMap.data,function(i,d){
					if(d.dr == 1){
						html+='<option value="'+(d.level)+'">'+(d.title)+'</option>';
					}
				});
				select.html(html);
			});
		 	
            select.css("height","36px");
            select.css("width","230px");
		}else{
			$("#textCondition").remove();
			$("<input type='text' id='textCondition' name='condition' class='textbox textbox_225' placeholder='输入关键字进行查询'/>").insertAfter($("#typeSelect"));
		}
	});</span>
2.action类

<span style="font-size:18px;">public class AjaxAction extends BaseAction {

	private ICenterService centerService = (ICenterService) ServiceProvinder.getService(ICenterService.SERVICE_NAME);
	//获得返回的json数据,这个必须要getter方法
	private Map<String, Object> dataMap;
	public Map<String, Object> getDataMap() {
		return dataMap;
	}
	//提交Action的方法
	public String centerMenu() {
		//获得一级栏目
		String level=request.getParameter("level");
		 //根据一级栏目查询二级栏目内容
		 List<Center> centers=centerService.findConditionByType(level);
		 //实例化map对象
		 dataMap =new HashMap<String, Object>();
		 //将查询的集合添加到map里
		 dataMap.put("data", centers);
		 //返回一个string参数,用于找struts.xml中的result
		return "jsonData";
	}
}</span>

3.Center是一个实体类

4.struts.xml配置

<!-- 配置Ajax返回json数据,先导入struts2-json-plugin-2.3.16.3.jar包 ,然后新建package ,要继承json-default -->
<package name="ajax" extends="json-default" >
	<!-- 配置action -->
	<action name="ajaxAction" class="cn.edu.xmu.cceer.web.action.AjaxAction" method="centerMenu">
        <!-- 将返回类型设置为json type必须为json -->
        <result name="jsonData" type="json">
        	 <param name="root">dataMap</param>
        </result>
       </action>
</package>



 
5.用到的jar包 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值