I tried to run some examples in Tomcat 5.5 / Netbeans ide
Here are my findings
1) Classic Tags are allowed to have all the four values of body-content i.e. scriptless,JSP,empty and tagdependent
2) Having scripting elements in the body of a classic tag is NOT an error if the body-content is set to scriptless
Thus it seems tag files and Simple Tags , which were introduced in JSP 2.0 , are not allowed to have scripting elements in their body . Thus only possible values for them are scriptless,empty and tagdependent
However, classic tags can have scripting elements and also all the four values for the body-content.
Surprisingly HFSJ does not talk about this difference.
I have a suspicion that the thinking behind this is that users should be moving away from scriptlets towards technologies such as JSTL and EL so they disabled the JSP option for within simple tags and tag files.