struts2后台重复获取前台参数问题

做了一个导出excel的功能,下面贴出form查询表单部分jsp页面(也就是说查询条件):

<div class="search-term">
<form action="${ctx}/except/queryExcept.action" id="queryExceptForm" name="queryExceptForm" method="post">
<div class="term">
<label>开始时间:</label>
<input type="text" id="startdate" name="startdate" class="itemContentInput" readonly="readonly"/>
<img src="${ctx}/images/date2.png" class="dateImg1 date" />
</div>
<div class="term">
<label>结束时间:</label>
<input type="text" id="enddate" name="enddate" class="itemContentInput" readonly="readonly"/>
<img src="${ctx}/images/date2.png" class="dateImg1 date" />
</div>
<div class="term">
<label>状态:</label>
<select name="state" id="state">
<option name="state" value="">全部</option>
</select>
</div>
<div class="searchBtn">
<input type="button" name="querybutton" class="search" value="查询"/>
</div>
</form>
</div>

下面是js里的一段点击导出按钮触发的事件,在path路径后面拼接了参数,然后提交表单:
//导出
$("#exportbutton").click(function(){
var path = ctx+'/except/exportExcel.action?startdate='+startdate+'&enddate='+enddate+'&state='+state;
$("#queryExceptForm").attr("action", path);
$("#queryExceptForm").submit();
});

后台的action给出这三个参数的setter getter方法了!

这种情况就会导致后台的每个参数的值都会被拼接两次,中间用逗号隔开。出现这种情况的原因就是js里的path路径后面拼接了参数,之后又提交了form表单,就会导致参数被重复提交到后台。

解决方法:
1、提交表单,不拼接参数:
$("#exportbutton").click(function(){
var path = ctx+'/except/exportExcel.action';
$("#queryExceptForm").attr("action", path);
$("#queryExceptForm").submit();
});
2、不提交表单:
$("#exportbutton").click(function(){
var path = ctx+'/except/exportExcel.action?startdate='+$("#startdate").val()+'&enddate='+$("#enddate").val()+'&state='+$("#state").val();
window.open(path);
});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值