structs2注解+jsp+ajax实现post异步加载select

流程:

1.点击加载btn发起异步请求post

2.后台处理请求返回数据

3.前端获取数据成功,对数据进行处理


前端:

html:首先要导入jq包,不然怎么用ajax呢。

<script type="text/javascript" src="js/jquery.js"></script>

<select name="warId" id="warId" style="height:100%;width:107px">
	<option value="">所有仓库 </option>
</select>

<script type="text/javascript">
$(document).ready(function(){    //这里实现的是: 点击class为add的按钮时加载仓库列表
	$(".add").click(function(){
			$.post("xxxx.do",function(data){      //要异步加载的action,和成功后的回调
				var objs = data.warehouses;     //对应action里的属性
				var selObj = $("#wareId");   
				selObj.empty();
				for (var i in objs) {
					var obj = objs[i];
					addOption(selObj,obj.id,obj.warehouseName); //为Select追加一个Option(下拉项)           
				}
			},"json");	 //返回类型
	 }); 
});
function addOption(selObj,value,text){
	var optionstring = "<option value=\"" + value + "\" >"+ text + "</option>";
	selObj.append(optionstring); //为Select追加一个Option(下拉项)           
}
</script>

后台structs:

使用注解实现,

要注意的是声明类的时候要加注解:@ParentPackage("json-default")

方法声明注解: @Action(value = "xxxx", results = @Result(name = "success", type="json"))  

需要跳转页面就把type = "json" 换成  location = "/mobile/auction_detailed.jsp" 要跳转的页面


@ParentPackage("json-default")
public class WarHouseAction extends ActionSupport {
	@Autowired
	private WarehouseService warehouseService;
	
	private List<Warehouse> warehouses;
	
	/**
	 * 后台ajax
	 * @return
	 * 需要跳转页面就把type = "json" 换成  location = "/mobile/auction_detailed.jsp" 要跳转的页面
	 */
	@Action(value = "addGood_before", results = @Result(name = "success", type="json"))  
	public String addGoodBefore(){
		warehouses = warehouseService.findAllEnableWarehouses();   //这个是返回到页面的
		return "success";
	}

	public WarehouseService getWarehouseService() {
		return warehouseService;
	}

	public void setWarehouseService(WarehouseService warehouseService) {
		this.warehouseService = warehouseService;
	}

	public List<Warehouse> getWarehouses() {
		return warehouses;
	}

	public void setWarehouses(List<Warehouse> warehouses) {
		this.warehouses = warehouses;
	}
}

提示一下用的是jquery.js   v1.4.1的  ,用min的貌似是返回json的不是返回obj

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值