假设存在具有以下内容的JSP
<%@ page import="com.example.MyClass" %>
<%
MyClass myClass = new MyClass();
%>
它的翻译类似于
public void _jspService(HttpServletRequest request, HttpServletResponse response)
throws java.io.IOException, ServletException {
// ...
MyClass myClass = new MyClass();
有没有办法将myClass声明为已编译的JSP类实例成员,而不是实例方法的本地成员,以避免重复创建对象而不将MyClass重新设计为单例?
我想要像
这样的东西private MyClass myClass = new MyClass();
public void _jspService(HttpServletRequest request, HttpServletResponse response)
throws java.io.IOException, ServletException {
// ...
可以声明为静态成员吗?
答案 0 :(得分:0)
如前所述,不要在JSP中使用实例变量,而是依赖于范围变量。
但是这里是一个如何在JSP中声明实例变量的例子:
<%!
private MyClass myClass = new MyClass();
%>
<%!...%>
块内的任何内容都将被编写为JSP编译的类体。