目录
一: EL表达式 + JSTL标签进行改造oa项目
二:使用base标签进一步优化
①前面我们已经基于Servlet+Session+Cookie+JSP对oa项目进行了更改;现在我们已经学习了EL表达式和JSTL标签库,所以就可以进一步优化代码了!
②使用EL表达式和JSTL标签库去替换.jsp中的java代码!实际上主要使用的还是EL表达式,只有替换for循环时使用的才是JSTL标签库。
注意:使用JSTL标签库需要引用两个jar包:
③taglibs-standard-impl-1.2.5.jar
taglibs-standard-spec-1.2.5.jar
(1)修改add.jsp页面
<%@page contentType="text/html;charset=UTF-8"%>
新增部门
欢迎${username}登录
欢迎登录
新增部门
(2)修改detail.jsp页面
<%@page contentType="text/html;charset=UTF-8" %>
部门详情
欢迎${username}登录
部门详情
部门编号:${deptList.deptno}
部门名称:${deptList.dname}
部门位置:${deptList.loc}
(3)修改modify.jsp页面
<%@page contentType="text/html;charset=UTF-8"%>
修改部门
修改部门
(4)修改error.jsp页面
<%@page contentType="text/html;charset=UTF-8"%>
登陆失败
登录失败,请重新登录
(5)修改index.jsp页面
<%@page contentType="text/html;charset=UTF-8"%>
<%@page session="false" %>
欢迎使用OA系统
LOGIN PAGE
(6)修改list.jsp页面
<%@page contentType="text/html;charset=UTF-8" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
部门列表页面
欢迎${username}登录
退出系统
部门列表
序号
部门编号
部门名称
操作
${deptStatus.count}
${dept.deptno}
${dept.dname}
删除
修改
详情
新增部门
总结:我们把所有jsp文件中的java代码全都换成了EL表达式和JSTL标签的形式,看着就舒服多了!但是目前还是有很多重复的代码,比如路径${pageContext.request.contextPath};所以我们可以使用base标签进一步优化!
①在前端HTML代码中,有一个标签叫做base标签,这个标签可以设置整个网页的基础路径
②这不是Java的语法,也不是JSP的语法,是HTML中的一个语法。HTML中的一个标签,通常出现在head标签中。 例如:
< base href="http://localhost:8080/oa/">
③在当前页面中,凡是路径没有以“/”开始的,都会自动将base中的路径添加到这些路径之前。例如:
< a href="ab/def"> a>
就等同于:< a href="http://localhost:8080/oa/ab/def"> a>
④需要注意:在JS代码中的路径,保险起见,最好不要依赖base标签。所以JS代码中的路径最好写上全路径;只有HTML 页面的路径才会默认加上base标签里面的路径。
⑤那么怎么把base中的路径写成动态的呢?例如:http://localhost:8080/oa/
${pageContext.request.scheme}获取到的就是协议: http
${pageContext.request.serverName}获取到的就是本机IP:localhost
${pageContext.request.serverPort}获取到的就是端口号: 8080
${pageContext.request.contextPath}获取到的就是项目名:oa