Java 当我们应该使用表达式时,为什么我们需要JSP中的隐式对象呢?
我正在学习JSP。我有一个疑问。当我们在JSP中使用表达式时,为什么我们需要JSP中的Java 当我们应该使用表达式时,为什么我们需要JSP中的隐式对象呢?,java,jsp,Java,Jsp,我正在学习JSP。我有一个疑问。当我们在JSP中使用表达式时,为什么我们需要JSP中的out隐式对象 有人能解释一下吗。感谢JSP上下文中的隐式对象(如会话、请求和响应)在您需要使用这些变量在JSP中执行逻辑时可用。您可以查看用户是否有特定的会话变量,或者从他们的请求或服务器的响应中获取参数 但是,这通常是不必要的——如果您在JSP中执行这种类型的逻辑,这表明您的视图正在做控制器应该做的事情。JSP上下文中的隐式对象(例如会话,请求和响应)当您需要使用这些变量在JSP中执行逻辑时,可以使用这些变
out
隐式对象
有人能解释一下吗。感谢JSP上下文中的隐式对象(如
会话
、请求
和响应
)在您需要使用这些变量在JSP中执行逻辑时可用。您可以查看用户是否有特定的会话变量,或者从他们的请求或服务器的响应中获取参数
但是,这通常是不必要的——如果您在JSP中执行这种类型的逻辑,这表明您的视图正在做控制器应该做的事情。JSP上下文中的隐式对象(例如
会话
,请求
和响应
)当您需要使用这些变量在JSP中执行逻辑时,可以使用这些变量。您可以查看用户是否有特定的会话变量,或者从他们的请求或服务器的响应中获取参数
然而,这通常是不必要的——如果您在JSP中执行这种类型的逻辑,这表明您的视图正在做控制器应该做的事情。它只是为了方便和向后兼容。自从JSP诞生以来,它就一直存在。如今(尽管,从EL诞生的大约十年以来),您不应该在现实世界中使用它,但Scriptlet在快速原型制作/演示/测试方面仍然很有用
另一方面,如果将其删除,编译后的JSP servlet在内部将无法再将经过计算的EL表达式写入响应;)即在已编译的JSP servlet类中声明它(根据JSP规范使用variablename)。这也是为什么它在scriptlet范围内(基本上是作为已编译的JSP servlet类的一个方法来确定范围)可以访问的原因。它只是为了方便和向后兼容。自从JSP诞生以来,它就一直存在。如今(尽管,从EL诞生的大约十年以来),您不应该在现实世界中使用它,但Scriptlet在快速原型制作/演示/测试方面仍然很有用 另一方面,如果将其删除,编译后的JSP servlet在内部将无法再将经过计算的EL表达式写入响应;)即在已编译的JSP servlet类中声明它(根据JSP规范使用variablename)。这也是为什么它在scriptlet范围内(基本上是作为已编译的JSPServlet类的方法来确定范围)可以访问的原因