我遇到了我正在处理的项目(不是我的代码)的情况。我是 JSP 的初学者,所以很高兴知道发生了什么。
所以我有一个这样的代码(它被简化了很多):
<jsp:useBean id="accessManager" scope="session" class="AccessManager" />
<%! Object x = accessManager %>
<% Object y = accessManager %>
第二行不行,它不知道accessManager是什么。第三行(y)有效。
我知道声明 scriptlet 转换为 java 类属性或方法,它们在 jsp 初始化时执行一次,而普通 scriptlet (<% %>) 被转换为 _jspService 方法。但这两者的范围是什么?或者为什么我不能从声明脚本访问 bean?
谢谢!