发表于: 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



返回列表 返回列表
评论

    分享到