在javaweb开发中我们可能经常会用到basePath这个参数,没错,当我们新建一个jsp页面的时候,myeclipse会自动帮我们生成下面这段代码:
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
起初也许你看他不爽,后来发现这个东西确实很有用哦,但是我们仔细数了数这代码行数有点多,而且还是jsp页面嵌套Java代码实现的,看起来有些不伦不类(话又说回来,这个用肯定是没有问题的)。
现在我们想把这段代码抽离出来,用更简洁的方式实现同样的功能,即提供basePath参数。我们知道jsp页面中的jstl标签库功能强大,我们只需要在jsp页面引入这么一条代码就可以使用功能如此强大的标签。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
同样的,我们打算也用这种方式实现,不过jstl标签库中并没有提供basePath参数,不然也不用我们在这大费周章自定义Tag了。好了废话不多说。我们来实际操作吧: