Man*_*anu 7 java jsp struts scope
struts-config.xml "请求"和"会话"以外的文件的"action"元素中的"scope"属性可用的值是
多少?
<action name="loginform" path="/bkplogin" scope="?" type="org.springframework.web.struts.DelegatingActionProxy">
Run Code Online (Sandbox Code Playgroud)
小智 9
scope属性只有两个可能的值:struts-config的DTD中声明的请求和会话:
<!--
The name of a JSP bean scope within which such a form bean may be accessed.
-->
<!ENTITY % RequestScope "(request|session)">
...
...
<!ATTLIST action scope %RequestScope; #IMPLIED>
Run Code Online (Sandbox Code Playgroud)
请在此处查看DTD:http:
//struts.apache.org/dtds/struts-config_1_3.dtd
或者更人性化的DTD文档:http:
//struts.apache.org/1.x/struts-core/dtddoc/struts-config_1_3.dtd#action
那么"应用程序"和"页面"呢?
那么,JSP页面中对象的范围可以是:
现在,struts-config中的范围指的是创建/查找ActionForm对象的位置.ActionForm表示客户端HTML表单的服务器对象表示.
拥有应用程序范围的表单没有任何意义,因为它将成为每个人的一种形式,我甚至无法想到什么是有用的.因此该领域没有应用价值.
现在想象你有页面范围.这将如何运作?Struts执行RequestDispatcher.forward/redirect转到JSP文件,如何将ActionForm保存在仍然没有页面范围的页面范围内,因为它还没有控件?!就像向方法发送值,但不是发送方法参数,而是尝试从方法外部直接在方法的代码中创建局部变量.
因此,只有两个值有意义:请求和会话.如果你想要额外的东西,你必须自己管理它.
Struts是一个通用框架,它没有涵盖所有可以想象或难以想象的案例,它涵盖了大多数正常的用例场景,请求和会话就是您所需要的.
| 归档时间: |
|
| 查看次数: |
9221 次 |
| 最近记录: |