jqgrid--按搜索字段进行搜索并重新加载表格

查询操作时,最好不要用get方式提交搜索参数,会出现莫名的乱码问题,应该使用post方式,并且进行编码

如下:

//查询
		$("#searchButton").click(function(){
			var searchAnswerValue = encodeURIComponent($("#searchAnswer").val());
			var searchQuestionValue = encodeURIComponent($("#searchQuestion").val());
			var postJson = {searchQuestion:searchQuestionValue,searchAnswer:searchAnswerValue};
			
			//传入查询条件参数
			$("#jqgridTable").jqGrid("setGridParam",{postData:postJson}); 
			//每次提出新的查询都转到第一页
			$("#jqgridTable").jqGrid("setGridParam",{page:1});
			//提交post并刷新表格
			$("#jqgridTable").jqGrid("setGridParam",{url:searchUrl}).trigger("reloadGrid");
		});

后台进行解码然后执行查询,如下:

@Override
	public String search() {
		
		/**
		 * 第一步,获取查询参数,并设置到queryPage
		 */
		QueryPage queryPage = pageActionParameter.getQueryPage();
		
		//添加查询条件
		if(StringUtils.isNotEmpty(searchAnswer)) {
			try {
				searchAnswer = URLDecoder.decode(searchAnswer,"utf-8");
			} catch (UnsupportedEncodingException e) {
				e.printStackTrace();
			}
			System.out.println("==========the searchAnswer : " + searchAnswer);
			queryPage.addLikeSearch("answer", searchAnswer);
		}
		if(StringUtils.isNotEmpty(searchQuestion)) {
			try {
				searchQuestion = URLDecoder.decode(searchQuestion,"utf-8");
			} catch (UnsupportedEncodingException e) {
				e.printStackTrace();
			}
			System.out.println("==========the searchQuestion : " + searchQuestion);
			queryPage.addLikeSearch("info", searchQuestion);
		}
		
		/**
		 * 第二步,执行查询,并设置结果
		 */
		List<ResultLog> resultLogList = resultLogBiz.getResultLogListByPage(queryPage);
		
		/**
		 * 设置pageResult
		 */
		pageActionParameter.buildPageResult(resultLogList);
		
		/**
		 * 第三步,返回
		 */
		return AJAX_RETURN_TYPE;
	}



评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值