基于 EL表达式 + JSTL标签+base标签再次改造oa项目

目录

一: EL表达式 + JSTL标签进行改造oa项目

二:使用base标签进一步优化


一: EL表达式 + JSTL标签进行改造oa项目

①前面我们已经基于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


username:
password:
十天内免登录

(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标签进一步优化!

二:使用base标签进一步优化

①在前端HTML代码中,有一个标签叫做base标签,这个标签可以设置整个网页的基础路径

②这不是Java的语法,也不是JSP的语法,是HTML中的一个语法。HTML中的一个标签,通常出现在head标签中。 例如:

​< base href="http://localhost:8080/oa/">

③在当前页面中,凡是路径没有以“/”开始的,都会自动将base中的路径添加到这些路径之前。例如:

< a href="ab/def">
就等同于:< a href="http://localhost:8080/oa/ab/def">

④需要注意:在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



你可能感兴趣的:(第三步:JavaWeb,java,servlet,EL,JSTL,HTML)