Statement 2 is definitely false, as a SimpleTag does have access to the JspFragment representing its body content - so it certainly can evaluate it and even buffer and edit the data.
The point of a SimpleTag (as well as being easier to write) is that it is not bound to the
Servlet model - which makes JSPs and tags portable over to non-Java platforms as well. So I'm tempted to say 3 could be correct (that is to say, a false statement), but I'm not quite sure what they mean by "JSP/Servlet knowledge embedded within it".
So 2 is the really correct answer, but 3 is not as clear as it could be.
Oh, and the life cycle methods are things like doStartTag(), doInitBody() for classic tags - for a simple tag, the only
obvious one is doTag().
However, methods like setParent() and setJspContext() are life-cycle methods simply because they are always invoked as part of the life of a SimpleTag. Therefore, in fact, I also disagree with statement 5 and believe that to be false. The life cycle methods for SimpleTag (taken directly from the API documentation) are:
setJspContext()
setParent()
[attribute setters]
setJspBody()
doTag()
which is in fact all setter methods in SimpleTag (getParent() is the only other method)! If you don't believe me, look at the API class documentation under the section "Lifecycle":
http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/jsp/tagext/SimpleTag.html [ April 16, 2006: Message edited by: Charles Lyons ]