c:foreach 中jsp页面 中怎么对时间类型进行格式化问题
具体实现很简单 就两步走:
引用
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
引用
发布时间: <fmt:formatDate value="${result.asIssueTime}" type="both"/>
或者看下下面的详细解说
引用
格式化标签库
一、定义:HTTP 协议通过 Accept-Language 请求头将本地化信息从浏览器传递至服务器。许多 Web 浏览器允许用户定制他们的语言首选项,
那些没有为一种或多种首选语言环境提供显式设置的浏览器会询问操作系统以确定在 Accept-Language 头中发送哪个值(或哪些值)。
servlet 规范通过 javax.servlet.ServletRequest 类的 getLocale() 和 getLocales() 方法自动地利用 HTTP 协议的这一功能。
JSTL fmt 库中的定制标记又会利用这些方法来自动地确定用户的语言环境,从而相应地调整它们的输出。
但不存在将用户的时区从浏览器传输到服务器的标准 HTTP 请求头。
总结:jstl fmt库 就是将本地化信息从浏览器传递至服务器。 内部利用servlet 规范通过 javax.servlet.ServletRequest 类的 getLocale() 和 getLocales()
方法自动地利用 HTTP 协议的这一功能的。
二、组成: ①本地化上下文标记: 设置本地化上下文,其它标记将在其中进行操作。包括:<fmt:setLocale> <fmt:setTimeZone> <fmt:timeZone>
②日期标记: 标记分别支持对日期和数字进行格式化和解析。 包括:<fmt:formatDate> <fmt:parseDate>
③数字标记: 对数字格式化进行解析。 包括:<fmt:formatNumber>
④消息标记: 侧重于对文本消息进行本地化。 包括:<fmt:message> <fmt:setBundle> <fmt:bundle>
三、例子程序:
程序 ㈠
<%@ page language="java" contentType="text/html; charset=gb2312" import="java.util.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<c:set var="todayValue" value="<%=new Date() %>"/>
中文-大陆:<fmt:setLocale value="zh"/>
<fmt:formatDate value="${todayValue}"/><br>
中文-台湾<fmt:setLocale value="zh_tw"/>
<fmt:formatDate value="${todayValue}"/><br>
中文-新加坡<fmt:setLocale value="zh_sg"/>
<fmt:formatDate value="${todayValue}"/><br>
英文:<fmt:setLocale value="en"/>
<fmt:formatDate value="${todayValue}"/>
</body>
</html>
页面输出:
中文-大陆: 2007-12-25
中文-台湾 2007/12/25
中文-新加坡 25-十二月-07
英文: Dec 25, 2007
程序㈠解释:<fmt:setLocale>覆盖用户语言环境,JSP 容器处理完该 JSP 代码段之后,将忽略用户浏览器设置中所指定的语言首选项。