欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > java后端向jsp传日期,jsp调用数据错误问题

java后端向jsp传日期,jsp调用数据错误问题

2024/10/25 1:23:22 来源:https://blog.csdn.net/weixin_45049746/article/details/140305974  浏览:    关键词:java后端向jsp传日期,jsp调用数据错误问题

问题

今天遇到个bug,后端使用request.setAttribute("key", value);startDateendDate两个日期字符串传递到jsp中,使jsp可以获取到日期进行查询操作。但接口拼接的参数startDate2017endDate1986,让人百思不得其解。

request.setAttribute("startDate", "2024-06-01");
request.setAttribute("endDate", "2024-07-31");

尝试将jsp中 var startTime = ${startDate}; var endTime = ${endDate};加双引号 var startTime = "${startDate}"; var endTime = "${endDate}";,发现获取到的值变为正常,但不知其所以然。

原理

不加引号会导致表达式 ${startDate}${endDate} 被解析为 JavaScript 代码的一部分,而不是字符串。在此问题中,因js中没有加双引号定义传过来的值为字符串,默认js认为是数值类型,将2024-06-01判断为数值计算,计算后得出2017.

源码

<script type="text/javascript">//关闭加载状态$(top.hangge());var drugsCode = ${drugsCode};var supplierCode = ${supplierCode};var startTime = ${startDate};var endTime = ${endDate};layui.use(['table', 'layer'], function () {var table = layui.table, layer = layui.layer;table.render({elem: '#supplierDetail',url: '/oms/xx/xxx/xxxx/', //page: {  layout: ['prev', 'page', 'next', 'countPage', 'count', 'skip'], //自定义分页布局groups: 2,//只显示 1 个连续页码first: false, //不显示首页last: false//不显示尾页},height: 'full-150',toolbar: true,defaultToolbar: ['print'],limits: [10000],limit: 10000,cols: [[{type: 'numbers', title: '序号'},......]],id: 'supplierDetail',where: {drugsCode: drugsCode , supplierCode: supplierCode , startDate: startTime , endDate: endTime},done: function (res) {}});});
</script>
@Overridepublic List queryShortageSupplierDetail(String drugsCode, String supplierCode,String startDate, String endDate) {Map<String,String> param = new HashMap();param.put("drugsCode",drugsCode);param.put("supplierCode",supplierCode);param.put("startDate",startDate);param.put("endDate",endDate);return dao.select("AccompanyingOrderMapper.queryShortageSupplierDetail",param);}   

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com