Oracle查询出来的".0"解决办法以及ajax与fms标签之前传值替代办法

14 篇文章 0 订阅
3 篇文章 0 订阅

前言:js是客户端代码,jstl是服务端代码(jstl标签会被解析成 java 的一部分)

fmt标签中的参数必须为Date格式,如果是字符串则无法解析,需要先将字符串转化为Date格式。

  • 使用JSTL的fmt标签解决“.0”问题

问题描述:Oracle查询出的时间字段,在后台查询出以Date格式传给前台页面展示时,在时间最后都有个“.0”,很是影响美观。

jsp页面中引入标签:

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

jsp页面中调用标签:

<fmt:formatDate value="${time}" pattern="yyyy-MM-dd HH:mm:ss"/>

总结:fmt标签需要配合EL标签、其他JSTL标签(比如c标签)来对参数进行格式处理。但是有个弊端就是不能再js中传入参数,不如ajax传回的参数中时间格式需要处理时,无法传入到fmt标签里。查看fmt如何使用

  • 使用数据库时间字段字符串格式替代ajax时间参数无法传入fmt标签办法。

问题描述:在使用JSTL标签处理时间格式时,可以解决服务器传过来的时间格式问题,但是在使用了ajax的js中调用该标签时,无法传入ajax的返回参数。

            $(".content").append("<div class='msgBox'>" +
					"<div class='msgTxt'>"+s.content+"</div>" +
				"</div>" +
				"<fmt\:formatDate value="+date+" pattern='yyyy-MM-dd HH:mm:ss'/>");
在上面的代码中,需要说明的是js的双引号中不能出现“:”不然会报错,这应该是为了避免与json格式的冲突。在使用“\”转义之后虽然能运行,但是在页面上却显示不出fmt处理后的结果,查看页面元素发现端倪

在使用js的append方法使用ajax参数进行添加元素时,fmt标签变成静态元素了。

在页面加载中是先运行jstl标签生成相关java,再执行js。然而在运行jstl时,可以执行js中的jstl标签,但是只能是直接写出来的,如果是注释,或者在引号中则不会运行。引号中的标签则是将其作为字符串来处理。

替代办法:在查询出Oracle时间字段时,给他固定好格式,TO_CHAR(t.feedback_time,'yyyy-mm-dd hh24:mi:ss'),不管是直接的jstl标签加载,还是ajax的局部动态加载,都只要展示时间字符串即可了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值