Tag klasse:
package mytags;
import java.io.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class CheckLoginTag extends TagSupport {
private boolean ok;
public int doStartTag() throws JspException {
if(pageContext.getSession().getAttribute("username") != null) {
ok = true;
} else {
ok = false;
try {
((HttpServletResponse)pageContext.getResponse()).sendRedirect("login.jsp");
} catch (IOException ex) {
throw new JspException(ex.getMessage());
}
}
return SKIP_BODY;
}
public int doEndTag() {
return (ok ? EVAL_PAGE : SKIP_PAGE);
}
}
Tag definition:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "
http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd"><taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>taglibtest</short-name>
<tag>
<name>checklogin</name>
<tag-class>mytags.CheckLoginTag</tag-class>
<body-content>empty</body-content>
<description>Check if user is logged in</description>
</tag>
</taglib>
Brug:
<%@ taglib uri="mytags.tld" prefix="mytags" %>
<mytags:checklogin/>
This is a test !