在struts-config.xml中,操作中包含“attribute”属性。它做了什么?

时间:2015-01-08 20:39:23

标签: struts-1 struts-config

在我们的网络应用程序的struts-config.xml文件中,定义了一堆<action>,它们中的大多数都有nameattribute属性,两者都有表单名称。例如:

<action
    attribute="LoginForm"  <-- this line
    name="LoginForm"
    path="/welcome"
    type="com.foo.presentation.action.LandingActionPre">
    <forward name="SUCCESS" path="landing.welcome" />
    <forward name="ALREADY_LOGGED_IN" path="/landing.do?m=getLandingPage" redirect="true"/>
</action>

attribute属性有什么作用?或者它是否被使用并且错误地存在于此处?

这个应用程序已经存在了大约10年,并且已经看到超过40位程序员在此期间触及代码库。因此,有可能将其添加到一些操作中,并且每个其他人都将其复制并粘贴到应用程序的其余部分,而不是更好。

1 个答案:

答案 0 :(得分:0)

根据Struts 1 doc type definition,它被用作ActionForm的一种别名。

如果它与name相同,则不执行任何操作。但是,如果指定了name且指定了attribute且与name不同,则可以使用nameattribute的值来访问表单。< / p>

相关部分:

<!-- The "action" element describes an ActionMapping object that is to be used
    to process a request for a specific module-relative URI. The following
    attributes are defined:

    attribute       Name of the request-scope or session-scope attribute that
                    is used to access our ActionForm bean, if it is other than
                    the bean's specified "name". Optional if "name" is specified,
                    else not valid.