发表于: 2017-10-28 23:02:17

1 723


今天完成的事情

将职业介绍页面转为动态

其中大部分的信息都基本是固定不变的,可以考虑直接写在页面中,只需要将职业名称,在学人数,稀缺程度这些信息改为动态。

步骤和之前的一样,效果如下:

利用tiles框架,实现代码的复用

将页面中重复的部分,既头部hefader和尾部footer提取出来

只有头部和尾部的效果:

需要建立tiles的配置文件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="*.page" template="/template.jsp">
       <put-attribute name="title" value=""/>
       <put-attribute name="header" value="/header.jsp"/>
       <put-attribute name="body" value="/{1}.jsp"/>
       <put-attribute name="footer" value="/footer.jsp"/>
   </definition>
</tiles-definitions>

在springmvc.xml中配置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>classpath:tiles.xml</value>
                       </list>
               </property>
       </bean>

对于header和footer,都是固定的内容,可以直接引用,对于body,参考大佬们的方法,进行了特殊处理,如以上的tiles.xml中所示,在控制器中设置相应的返回值,如home.page ,利用 {1} 可以获取到home字符,使得value=/home.jsp  ,当加载template.jsp时,会根据字符body加载home.jsp。

template.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
<%@ taglib uri="http://tiles.apache.org/tags-tiles-extras" prefix="tilesx" %>
<div>
<tiles:insertAttribute name="header"/>
<tiles:insertAttribute name="body"/>
<tiles:insertAttribute name="footer"/>
</div>

需要在控制器中设置相应的返回值:

@RequestMapping("home")
public String introductionView(Model model)
       List<StudentWeb> studentWebs=studentWebService.list();
       model.addAttribute("s",studentWebs);
       return "home.page";
   }

页面成功显示:


明天的计划

修改代码,完善以下对不能加载页面情况的处理


遇到的问题


收获

了解了tiles的使用




返回列表 返回列表
评论

    分享到