<jsp:useBean>动作用于在指定的域范围内查找指定名称的JavaBean对象。如果查找到,则直接返回该JavaBean对象的引用;如果未查找到,则实例化一个新的JavaBean对象,并将它以指定的名称存储到指定的域范围内。
进行查找定位或实例化Bean对象时,<jsp:useBean>将按照以下步骤执行
步骤一:尝试在scope属性指定的作用域使用指定的名称(id属性值)定位Bean对象。
步骤二:使用指定的名称(id属性值)定义一个引用类型变量。
步骤三:如果找到Bean对象,将其引用给步骤二定义的变量,假如指定类型(type属性),则赋予Bean对象该类型;如果没找到,则实例化一个新的Bean对象,将其引用给步骤二定义的变量。
步骤四:假如<jsp:useBean>此次时实例化Bean对象而不是定位Bean对象,且它有体标记(body tags)或元素(位于<jsp:useBean>和</jsp:Bean>之间的内容,则执行该体标记。
<jsp:useBean>之间经常包含<jsp:setProperty>设置该Bean的属性值,如步骤四描述,该元素仅在<jsp:useBean>实例化Bean对象时处理,如果Bean对象早已存在,<jsp:useBean>定位到它,则体标记不会执行。