当前位置 : 主页 > 编程语言 > java >

JSP标签生命周期

来源:互联网 收集:自由互联 发布时间:2021-06-25
我刚刚在我的代码中引入了一个错误,因为我似乎误解了jsp标签的生命周期. 标签在错误之前就像这样工作: 我将一些集合的标签作为属性传递,并将其显示为表格.该集合从控制器传入
我刚刚在我的代码中引入了一个错误,因为我似乎误解了jsp标签的生命周期.

标签在错误之前就像这样工作:
我将一些集合的标签作为属性传递,并将其显示为表格.该集合从控制器传入JSP.

之后的bug:
我删除了设置集合的属性.相反,在标签中,我检查该集合是否为空,然后通过请求的名称(使用命名约定)来抓取它.

我没想到的事情:
在收集最初设置在标签中之后,后续执行将永远不会变为null!它仍然被定义为TLD中的不需要的属性.

我希望标签不会在执行之间保持先前的值.

你自己回答了这个问题 – 它是汇集的.请参阅 tag tutorial在Java实现中实现的内容,以及从那里链接的页面,其中包含 invocation sequence:

ATag t = new ATag();
t.setPageContext(...);
t.setParent(...);
t.setAttribute1(value1);
t.setAttribute2(value2);
t.doStartTag();
t.doEndTag();
t.release();

也就是说,按照API的要求,在doEndTag()中重新初始化标签实例. (由Julien Kronegg发表评论,谢谢)

请注意,pooling可能是依赖于容器的,但是很合法(并且由于API设置,可能无处不在).

网友评论