发表于: 2017-11-12 23:01:18
1 971
今日完成的事情:
今天首先把tiles看了一下,知道了这个是什么。tiles主要是实现页面相同部分的复用。
先从配置文件说起吧:
首先在SpringMVC配置文件里面配置tiles视图解析器和模板:
<!-- 配置tiles模板 -->
<bean id="tilesViewResolver"
class="org.springframework.web.servlet.view.tiles3.TilesViewResolver" p:order="1"/>
<bean id="tilesConfigurer"
class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/layouts/tiles.xml</value>
</list>
</property>
</bean>
其次配置tiles.xml文件:
<tiles-definitions>
<!-- 主布局 -->
<definition name="DefaultTemplate" template="/WEB-INF/layouts/classic.jsp">
<put-attribute name="title" value="task4"/>
<put-attribute name="header" value="/WEB-INF/layouts/header.jsp"/>
<put-attribute name="menu" value="/WEB-INF/layouts/menu.jsp"/>
<put-attribute name="body"/>
<put-attribute name="footer" value="/WEB-INF/layouts/footer.jsp"/>
</definition>
<!-- 项目 -->
<definition name="home" extends="DefaultTemplate">
<put-attribute name="body" value="/WEB-INF/jsp/tilesT10.jsp"/>
</definition>
<definition name="courses" extends="DefaultTemplate">
<put-attribute name="body" value="/WEB-INF/jsp/tilesT11.jsp"/>
</definition>
</tiles-definitions>
主布局配置了header,menu,body和footer,项目继承了主布局,配置了两个项目,分别是home和courses。然后是几个主布局的jsp:
<body>
<div>
<tiles:insertAttribute name="header"/>
<tiles:insertAttribute name="menu"/>
<tiles:insertAttribute name="body"/>
<tiles:insertAttribute name="footer"/>
</div>
</body>
其他几个menu,header,还有footer,jsp文件都是从给定t10和t11页面提取出来的,就不贴了。
然后就是controller层,视图解析器:
@Controller
public class TilesController {
@Autowired
private StudentService studentService;
@Autowired
private CourseService courseService;
@RequestMapping(value = "/home",method = RequestMethod.GET)
public String home(Model model){
List<Student> listStu=studentService.listStu();
int i=studentService.total();
int j=studentService.working();
model.addAttribute("i",i);
model.addAttribute("j",j);
model.addAttribute("listStu",listStu);
return "home";
}
@RequestMapping(value = "/courses",method = RequestMethod.GET)
public String courses(Model model){
List<Course> listCour=courseService.listCour();
model.addAttribute("listCour",listCour);
return "courses";
}
@RequestMapping(value = "/test",method = RequestMethod.GET)
public String date(Model model){
long date=System.currentTimeMillis();
model.addAttribute("date",date);
return "test";
}
这里考虑到这几个页面都是展示作用,所以方法全部是get,最后一个是tag标签处理long类型的时间类型。这个等下再说。
然后就是运行环节:
这是第一个的组合页面,图片贴出来的是动态部分,数据库内容比较少,而且是自己随便添加的。
然后是下一个页面:
数据库内容比较少。
然后是在menu.jsp里面稍微改动:
<div id="example-navbar-collapse" class=" collapse navbar-collapse">
<ul class="nav navbar-nav">
<a href="http://localhost:8080/home"><li>首 页</li></a>
<a href="http://localhost:8080/courses"><li>职 业</li></a>
<a href=""><li>推 荐</li></a>
<a href=""><li>关 于</li></a>
</ul>
</div>
使页面
的首页和职业两个按钮生效。
最后配置了一个tag标签,使long类型的时间按照格式进行转换:
https://www.cnblogs.com/gmq-sh/p/5528989.html
这篇教程非常详细,我是按照这个一步一步来的,最后虽然是配出来了,但是自己完全不能理解,看了好久还是看不太懂。最后运行效果:
但是结果还是非常令人满意的。
明日计划的事情:
明日把项目部署到服务器,然后再对任务四进行完善,提交任务。
遇到的问题:
long类型时间转换这个虽然成功,但是不理解,我有点强迫症,对于自己不理解的东西,就总是希望把它搞懂。自己慢慢消化吧。
收获:
talis框架怎么进行配置。
任务开始时间:2017/11/10
预计完成时间:2017/11/15
延期:无
禅道:http://task.ptteng.com/zentao/my-task.html
评论