发表于: 2017-06-05 22:40:17
2 1065
今天完成的事:
今天基本把任务四完成了。主要把T11页面用tiles实现了,用tag标签完成了一个时间的处理。
使用Tag转换时间格式:
http://www.cnblogs.com/gmq-sh/p/5528989.html
1,写一个类继承TagSupport
public class MyDateTag extends TagSupport {
private String value;
private String datePattern;
public String getValue() {
return value;
}
public String getDatePattern() {
return datePattern;
}
public void setDatePattern(String datePattern) {
this.datePattern = datePattern;
}
public int doStartTag() throws JspException {
String vv = "" + value;
try {
long time = Long.valueOf(vv.trim());
Calendar c = Calendar.getInstance();
c.setTimeInMillis(time);
SimpleDateFormat dateformat = new SimpleDateFormat(datePattern);
String s = dateformat.format(c.getTime());
pageContext.getOut().write(s);
} catch (Exception e) {
e.printStackTrace();
}
return super.doStartTag();
}
public void setValue(String value) {
this.value = value;
}
}
2,在WEB-INF下面创建tld/datetag.tld
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>dateTag</short-name>
<description>simple hello tags tag</description>
<tag>
<name>dateTag</name>
<tag-class >com.lyyone.util.MyDateTag</tag-class >
<body-content>JSP</body-content>
<attribute>
<name>value</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>datePattern</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
3,在web.xml中引入
<jsp-config>
<taglib>
<taglib-uri>/tags</taglib-uri>
<taglib-location>/WEB-INF/tld/datetag.tld</taglib-location>
</taglib>
</jsp-config>
4,写一个类用于返回到一个jsp页面
@Controller
@RequestMapping("/student")
public class StudentController {
@Autowired
private ExcStuService excStuService;
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
public ModelAndView getEStudent(@PathVariable("id") int id) {
Long l = System.currentTimeMillis();
System.out.println(l);
ExcellentStu eStu = excStuService.getEStu(id);
ModelAndView mav = new ModelAndView("a");
mav.addObject("eStu", eStu);
return mav;
}
}
5,在jsp页面中添加
最外面:
<%@ taglib uri="/tags" prefix="date"%>
body里面:
<date:dateTag value ="${eStu.create_at}" datePattern="datePattern" />
需要注意的是,这里的dateTag需要与datetag.tld里面的<name>datetag<name>保持一致。
datePattern写为yyyy-MM-dd hh:mm:ss出来的结果
把任务四后面的问题学习了一下,c标签和EL表达式内容很多,木钱只能记得一部分。
明日计划:
腾讯云服务器到期了,所以任务四的发布先推迟两天,等华为云申请下来再继续。开始任务五。
遇到的问题:
1,在做T11页面时,因为看到T10和T11的index.html中的css和js文件不一样,一开始不知道应该怎么做,后面考虑到既然两个页面用的模板相同,理应css、js一致才对,所以就直接使用了T10的模板。
2,忘记在jsp页面中添加 <%@ taglib uri="/tags% prefix="date>,导致出来的时间不对。
收获:
学会了使用tiles框架,tag有了初步的了解。
评论