我正在给一个页面添加一些功能,该页面拥有标题中提到的两个标签。我注意到我在<% ... %>
中声明的变量不能在<%! ... %>
中使用,反之亦然。这两者之间有什么区别,我如何声明可以在这两个标签中使用的变量?
<% ... %>
用于在JSP的主要service()
方法中嵌入一些Java代码,它是在页面渲染期间执行的。
<%! ... %>
用于定义页面流程之外的代码,并因此位于主要service()
方法之外。通常,这用于定义实用程序方法,这些方法将从<% ... %>
块内调用。
然而,这两种方法现在已经过时。JSP EL、JSTL和标签类是执行相同操作的首选方式。