为什么我们需要在JSP中使用隐式对象当我们应该使用表达式时?

时间:2010-02-04 14:23:50

标签: java jsp

我正在学习JSP。我有个疑问。当我们在JSP中使用表达式时,为什么我们在JSP中需要out隐式对象?

任何人都可以解释一下。感谢

2 个答案:

答案 0 :(得分:3)

如果您需要使用这些变量在JSP中执行逻辑,则可以使用JSP上下文中的隐式对象(例如sessionrequestresponse)。您可以查看用户是否有特定的会话变量,或者从他们的请求或服务器的响应中获取参数。

但是,通常没有必要 - 如果你在JSP中执行那种类型的逻辑,那就表明你的View正在做一些控制器应该做的事情。

答案 1 :(得分:1)

它只是为了方便和向后兼容。它自JSP诞生以来一直存在。如今(虽然,大约十年,当EL出生时),你不应该在现实世界中使用它,但 scriptlets 对于快速原型设计/演示/测试仍然有用。 / p>

另一方面,如果它被删除,编译的JSP servlet将在内部无法将已计算的EL表达式写入响应;)它已被声明(根据JSP规范使用变量名)编译JSP servlet类。这也是为什么它可以在 scriptlet 范围内访问的原因(它基本上作为编译的JSP servlet类的方法)。