发表于: 2018-04-04 21:03:42

1 672


今天完成的事情:

1.tiles框架的学习

main.jsp ,作用:定义基础模块

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
   <title>Title</title>
</head>
<body>
<div id="wrapper">
   <div id="tilesBody" style="margin-top: 50px">
       <%--  // 插入属性(其实就是放入参数),可以不设置值--%>
       <tiles:insertAttribute name="header" ignore="true"/>
<tiles:insertAttribute name="body" ignore="true"/>
<tiles:insertAttribute name="footer" ignore="true"/>
</div>
</div>
</body>
</body>
</html>

tiles.xml

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE tiles-definitions PUBLIC
       "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
       "http://tiles.apache.org/dtds/tiles-config_3_0.dtd">

<tiles-definitions>
<!--定义基础模块-->
<definition name="base.definition" template="/WEB-INF/jsp/main.jsp">
<!--  定义模板-->
   <put-attribute name="header" value="/WEB-INF/jsp/header.jsp" />
   <put-attribute name="footer" value="/WEB-INF/jsp/footer.jsp" />
   <put-attribute name="body" value="" />
</definition>
<!--继承了基础模板布局,注意罗继明welcome哦-->
<definition name="welcome2" extends="base.definition">
<!--    //放入属性body值-->
   <put-attribute name="body" value="/WEB-INF/jsp/welcome.jsp" />
</definition>

<definition name="jobs" extends="base.definition">
   <!--    //放入属性body值-->
   <put-attribute name="body" value="/WEB-INF/jsp/job.jsp" />
</definition>
</tiles-definitions>

<tiles-definitions>标签内主要的子节点就是<definition>标签,这个标签属性如下:

属性
名称是否必须值必须值类型说明
nametruetruejava.lang.String

指定将要创建的一个definition bean的访问名称。这个必须有的。

templatefalsetruejava.lang.String

哪一个文件是模板文件,这个模板文件后面会介绍。

rolefalsetruejava.lang.String

如果配置了这个值的话,需要role的值相等,这个definition才被有效访问,这个功能我没有深究,也不推荐使用,建议大家建立自己更完善的权限控制管理。当然欢迎朋友们完善role应用的示例,tiles自带role的示例,有兴趣的人去读一下就明白了。

extendsfalsetruejava.lang.String

继承哪一个definition,值是你要继承的definition的name的值。高使用率的属性。

preparerfalsetruejava.lang.String

要使用的话,要写一个实现他的Prepare接口的类,作用就是在展现你定义的页面前会先执行你的prepare。

@RequestMapping(path = "/welcome2")
public String welcome(Model model) {
model.addAttribute("goodstudent",stuServiceImpl.findGood());
   model.addAttribute("numberofstudent",stuServiceImpl.selectCount());
   model.addAttribute("numberofgraduate",stuServiceImpl.selectCountGraduate());
   model.addAttribute("images1",stuServiceImpl.findImgaes1());
   return "welcome2";
   //根据该逻辑名,找到tiles.xml中 对应的definition...获取最后的jsp
}
//职业页加入tiles
@RequestMapping(path = "/jobs")
public String jobs(Model model) {
model.addAttribute("joblist1",stuServiceImpl.findJobList1());
   model.addAttribute("numberofstudent1",stuServiceImpl.selectCount());
   return "jobs";
   //根据该逻辑名,找到tiles.xml中 对应的definition...获取最后的jsp
}

web学员做的CSS任务八的代码没有加入复用性,造成自己修改耽误了太多的时间,且CSS文件中的的属性命名重复的太多,大量修改.

明天计划的事情:(一定要写非常细致的内容) 

请假回家,抽时间学习
遇到的问题:(遇到什么困难,怎么解决的) 

web的代码问题太多.
收获:(通过今天的学习,学到了什么知识)

tiles框架的使用,还可以进一步学习


返回列表 返回列表
评论

    分享到