先编写一个继承simpleTagsupport的类
import javax.servlet.jsp.tagext.SimpleTagSupport; public class loginFilter extends SimpleTagSupport { @Override public void doTag() throws JspException, IOException { PageContext pageContext = (PageContext) this.getJspContext(); HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); HttpServletResponse response= (HttpServletResponse) pageContext.getResponse(); User user= (User) request.getSession().getAttribute("user"); if(user==null){ response.sendRedirect(request.getContextPath()+"/client/error/privilege.jsp"); } } }
在写一个自定义标签 .tld文件放在WEB-INF下
<?xml version="1.0" encoding="utf-8"?> <taglib xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd" version="2.1"> <!-- 描述 自定义标签版本的一种描述 --> <description>loginTag 1.0 core library</description> <!-- 显示的名称 导包进行的一个展示 --> <display-name>loginTag core</display-name> <!-- 版本号 --> <tlib-version>1.0</tlib-version> <!-- 短名 --> <short-name>loginTag</short-name> <!-- uri :导包 --> <uri>http://login-tags</uri> <!-- 定义一个标签 --> <tag> <!-- 标签名 --> <name>loginTag</name> <!-- 标签处理类 --> <tag-class>com.bookstore.utils.loginFilter</tag-class> <!-- 设置标签为空 --> <body-content>empty</body-content> </tag> </taglib>
在那个页面使用直接引用他的标签
<%@ taglib prefix="ln" uri="http://login-tags"%>
<ln:loginTag/>