2015-01-08 8 views
-1

웹 응용 프로그램의 struts-config.xml 파일에는 <action>이 여러 개 있으며 대부분이 모두 nameattribute 속성을 가지며 둘 다에 양식 이름이 있습니다. 예 :struts-config.xml에서, 액션은 "attribute"속성을 가지고 있습니다. 그것은 무엇입니까?

<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 명이 넘는 프로그래머가 코드 기반을 다뤘습니다. 그래서 몇 가지 조치를 취한 다음 다른 모든 앱을 복사하여 다른 앱에 붙여 넣는 것이 더 좋을 수도 있습니다.

+0

나는 ** 특성 ** 속성을 들어 본 적이 없다. 그것을 생략하면 차이가 있습니까? –

+0

글쎄, 나는 하나의''이 있는데'attribute'와'name'에 다른 폼 이름을 가지고 있고'name'이 사용됩니다. 그래서 나는 생각하지 않는다. [편집 :] 그리고 만약 내가 그것을 제거, 아무것도 좋은 일이 될 것, 나쁜 것. –

+0

그래서 아마도 여러분 모두가 방금 복사하여 붙여서 안전한쪽에 있다고 말했기 때문입니다 ... –

답변

0

Struts 1 doc type definition에 따르면, ActionForm의 별칭으로 사용됩니다.

name과 같으면 아무런 변화가 없습니다. 그러나 name이 지정되고 attribute이 지정되고 name과 다른 경우 name 또는 attribute 값을 사용하여 양식에 액세스 할 수 있습니다.

관련 섹션 :

<!-- 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.