发表于: 2017-09-13 21:52:32
1 845
今天完成的事情:修改了title里面的错误 总是出现什么为空 嵌套异常等
对照着师兄的程序自行研究对比修改了很多次 解决
听老大讲了一些修真院的理念思想
参照着写了一个时间转换的工具类
private String value;
@Override
public int doStartTag() throws JspException {
String vv = "" + value;
long time = Long.valueOf(vv);
Calendar c = Calendar.getInstance();
c.setTimeInMillis(time);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s = dateFormat.format(c.getTime());
try{
pageContext.getOut().write(s);
}catch (IOException e){
e.printStackTrace();
}
return super.doStartTag();
}
public void setValue(String value){
this.value = value;
}
}
明天计划的事情:优化代码 提交任务四
遇到的问题:主要是昨天的问题 不知道为何 使用*无法跳转到相应的页面 经过不断的摸索研究对比终于改好了
<!-- 主布局 -->
<definition name="sss" template="/WEB-INF/pages/module/main.jsp" >
<put-attribute name="cssresources" value="/WEB-INF/pages/module/css.jsp"/>
</definition>
<!--项目-->
<definition name="*.page" extends="sss" >
<put-attribute name="title" value="fghd"/>
<put-attribute name="header" value="/WEB-INF/pages/module/{1}.jsp"/>
<!-- <put-attribute name="menu" value=""/>
<put-attribute name="body" value=""/>
<put-attribute name="footer" value=""/>-->
</definition>
主要是项目里要和主布局保持一致
否则就会出这个异常
Cannot render an attribute that is not a string, toString returns: null
当然还跟主文件有关 也就是这个
<head>
<%-- <title>Title</title>--%>
<title><tiles:insertAttribute name="title"/></title>
</head>
<body>
<tiles:insertAttribute name="cssresources"/>
<tiles:insertAttribute name="header"/>
这里要跟主布局和页面匹配
原来没用通配符 没匹配也没有出错 用了就报错 什么嵌套异常
这里还要说一下
"/WEB-INF/pages/module/{1}.jsp"/>
这个{1}代表的是* 也就是说我页面设置不动 根据return不同的值就可以跳转到不同的页面
还有一个不严重的问题 这里不能用Ctrl跳转进入页面 但是我看佳义的可以 不过不影响 程序运行正常
public String ad(){
return "header.page";
}
对工具类还是有点疑惑
收获:1 / ./ ../ 的不同含义 首先强调一下这里讨论在jsp文件或者html中 而非在linux系统中
这里要先提一下绝对路径 与相对路径
HTML中绝对路径(absolute path)在网页制作中指带域名的文件的完整路径。/ HTML中相对路径(Relative Path)是同一个目录的文件引用,如果源文件和引用文件在同一个目录里,直接写引用文件名即可。
再看下我们现在用的html中 ./即代表当前路径下 ../代表他的上一级路径下 这两个都是相对路径的引用
在注意一下我在这里是在所有非struts标签的路径前加${pageContext.request.contextPath},来使用绝对路径,如原路径为: ”/images/title.gif”,改为 “${pageContext.request.contextPath}/images/title.gif”。 代码” ${pageContext.request.contextPath}”的作用是取出部署的应用程序名,这样不管如何部署,所用路径都是正确的。
注意:Struts提供了五个标签库,即:HTML、Bean、Logic、Template和Nested。
${pageContext.request.contextPath}只能jsp解析js不能
2、一直在研究title的错误 感觉程序出现嵌套异常 一定是代码的结构有问题 比如曾经碰到的未闭合标签 或者这次的标签不匹配
3、对于修真院的理念有了更深入的了解 包括日报 小课堂 等
进度:
任务开始时间:9.10
预计完成时间:9.14
是否有延期风险:暂无
禅道链接:http://task.ptteng.com/zentao/my-task.html
评论