Det här är en tag som skriver ut ett felmedelande på sidan om det finns ett sparat i användarens sesson, om det finns ett där så skriv det ut och tasbort.
När det blir något fel i en Servlet t.ex. under behandlingen av ett user request så kan man skriva såhär,
Servlet.java
if(user!=Integer.parseInt(request.getParameter("user")))
{
request.getSession().setAttribute("errormsg","Not correct user!");
response.sendRedirect("/index.jsp");
return;
}
index.jsp
<vglib:errormsg/>
Och här är den viktiga tag koden :)
/**
* Copyright (C) VG Software 2003-apr-10
*
* Document History
*
* Created: 2003-apr-10 23:21:45 by Viktor
*/
package com.vgsoftware.vglib.util;
import java.io.IOException;
import javax.servlet.jsp.tagext.TagSupport;
/**
* @author Viktor
*
*/
public class ErrorMessageTag extends TagSupport
{
public int doEndTag()
{
try
{
if(pageContext.getSession().getAttribute("errormsg")!=null)
{
pageContext.getOut().println(pageContext.getSession().getAttribute("errormsg"));
pageContext.getSession().setAttribute("errormsg",null);
}
}
catch(IOException io)
{
io.printStackTrace(System.err);
}
return(EVAL_PAGE);
}
}
TLDn,
<?xml version="1.0"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>vglib</shortname>
<info>
</info>
<tag>
<name>errormsg</name>
<tagclass>com.vgsoftware.vglib.util.ErrorMessageTag</tagclass>
<info>
Prints error message saved in current session attribute "errormsg",
after displaying the message "errormsg" is set to null.
</info>
</tag>
</taglib>