A. 实在是不明白FreeMarker比jsP好在什么地方
在java领域,表现层技术主要有三种:jsp、freemarker、velocity。
jsp是大家最熟悉的技术
优点:
1、功能强大,可以写java代码
2、支持jsp标签(jsp tag)
3、支持表达式语言(el)
4、官方标准,用户群广,丰富的第三方jsp标签库
5、性能良好。jsp编译成class文件执行,有很好的性能表现
缺点:
jsp没有明显缺点,非要挑点骨头那就是,由于可以编写java代码,如使用不当容易破坏mvc结构。
velocity是较早出现的用于代替jsp的模板语言
优点:
1、不能编写java代码,可以实现严格的mvc分离
2、性能良好,据说比jsp性能还要好些
3、使用表达式语言,据说jsp的表达式语言就是学velocity的
缺点:
1、不是官方标准
2、用户群体和第三方标签库没有jsp多。
3、对jsp标签支持不够好
freemarker
优点:
1、不能编写java代码,可以实现严格的mvc分离
2、性能非常不错
3、对jsp标签支持良好
4、内置大量常用功能,使用非常方便
5、宏定义(类似jsp标签)非常方便
6、使用表达式语言
缺点:
1、不是官方标准
2、用户群体和第三方标签库没有jsp多
选择freemarker的原因:
1、性能。velocity应该是最好的,其次是jsp,普通的页面freemarker性能最差(虽然只是几毫秒到十几毫秒的差距)。但是在复杂页面上(包含大量判断、日期金额格式化)的页面上,freemarker的性能比使用tag和el的jsp好。
2、宏定义比jsp tag方便
3、内置大量常用功能。比如html过滤,日期金额格式化等等,使用非常方便
4、支持jsp标签
5、可以实现严格的mvc分离
B. JSP获取系统时间能不能获取到毫秒
new Date().getTime()
System.currentTimeMillis()
这俩都是获得毫秒
C. 在JSP中加入Java代码获得系统时间
1、获取当前时间,和某个时间进行比较。此时主要拿long型的时间值。
方法如下:
要使用 java.util.Date 。获取当前时间的代码如下
代码如下 复制代码
Date date = new Date();
date.getTime() ;
还有一种方式,使用 System.currentTimeMillis() ;
都是得到一个当前的时间的long型的时间的毫秒值,这个值实际上是当前时间值与1970年一月一号零时零分零秒相差的毫秒数
一、获取当前时间, 格式为: yyyy-mm-dd hh-mm-ss
DateFormat.getDateTimeInstance(2, 2, Locale.CHINESE).format(new java.util.Date());
二、获取当前时间, 格式为: yyyy年mm月dd日 上午/下午hh时mm分ss秒
代码如下 复制代码
DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, Locale.CHINESE).format(new java.util.Date());
三、获取当前时间(精确到毫秒), 格式为: yyyy-mm-dd hh:mm:ss.nnn
代码如下 复制代码
new java.sql.Timestamp(System.currentTimeMillis()).toString();
一. 获取当前系统时间和日期并格式化输出:
代码如下 复制代码
import java.util.Date;
import java.text.SimpleDateFormat;
public class NowString {
public static void main(String[] args) {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
System.out.println(df.format(new Date()));// new Date()为获取当前系统时间
}
}
D. jquery的flot,横坐标要显示日期,后台传过来的是毫秒数,jsp中要怎样设置才能以yyyy-MM-dd的形式显示
javascript完全可以处理毫秒数,转换为任何格式。
具体请网络:JavaScript时间戳与其格式化
E. 数据库里存的是时间的毫秒 jsp里struts标签如何从毫秒转日期
你自己看
jsp页面显示oracle日期的问题可以用jstl的fmt标签来重新定义格式。
jstl中<fmt:formatDate>用法
此标签可以将日期格式化.
属性介绍:
value 用来格式化的时间或日期
type 指定格式化的是日期还是时间,或者两者都是取值范围:date,time,both
pattern 自定义格式化样式
dateStyle 日期的格式化样式
timeStyle 时间的格式化样式
timeZone 指定使用的时区
var 存储格式化后的结果
scope 指定存储的范围
示例代码:
Java代码
<fmt:setLocale value="zh_cn" />
<fmt:formatDate value="<%=new Date()%>" />
<br />
<fmt:setLocale value="zh_tw" />
<fmt:formatDate value="<%=new Date()%>" />
<fmt:setLocale value="zh_cn" />
<fmt:formatDate value="<%=new Date()%>" />
<br />
<fmt:setLocale value="zh_tw" />
<fmt:formatDate value="<%=new Date()%>" />
输出结果:
2025-12-13
2015/12/13
试一试
F. 在JSP中加入Java代码获得系统时间
1.获取日期:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 E");
Calendar cal = new GregorianCalendar(new Date());
System.out.println(sdf.format(cal.getTime()));//XX年XX月XX日,星期X
2.获取小时
cal.get(Calendar.HOUR);//获取出来小时,自己根据时专间设定去显示“早上好属”、“下午好”、“晚上好”
G. 在jsp页面,日期选择框
做这个用控件吧,好做
1、下载My97DatePicker4.8Beta3
http://www.my97.net/dp/down/My97DatePickerBeta.7z
2、页面中引入
<script language="javascript" type="text/javascript" src="datepicker/WdatePicker.js"></script>
3、Form中HTML代码
<input name="createdatetimeStart" style="width: 120px;" onFocus="WdatePicker({readOnly:true,dateFmt:'yyyy-MM-dd HH:mm:ss'})" /> 至
<input name="createdatetimeEnd" style="width:120px;" onFocus="WdatePicker({readOnly:true,dateFmt:'yyyy-MM-dd HH:mm:ss'})" />
4、后台取值就和普通文件框一样
String createdatetimeStart = request
.getParameter("createdatetimeStart") == null ? ""
: request.getParameter("createdatetimeStart").trim();
认认真真为你答题,希望对你有帮助。