내 생각은 그 안에 Struts2에게 하나의 액션 클래스와 여러 방법을 사용하여 아래의 방법을 사용하여 작업을 수행하는 것입니다 manage/roles.action?method%3Aadd=Add
Struts2 - 동일한 작업 클래스를 사용하지만 다른 메서드를 사용하여 struts.xml에서 작업 이름을 반복 할 수 있습니까?</p> <p>보기 역할 조치 :
URL이 제출 호출을 통해 호출됩니다 manage/roles.action?method%3Aview=View
이 역할 조치를 추가 같은 버튼 TEST.JSP에서 아래와 : struts.xml에서
<s:form namespace="/manage/" action="roles" method="get" >
<s:submit method="view" value="View" />
<s:submit method="add" value="Add" />
<s:submit method="edit" value="Edit" />
<s:submit method="delete" value="Delete" />
</s:form>
, I 구성 :
<package name="portal" namespace="/manage/" extends="struts-default">
<action name="home">
<result>/WEB-INF/jsp/manage/roles/test.jsp</result>
</action>
<action name="roles" class="struts2.actions.RoleAction" method="view">
<result name="success">/WEB-INF/jsp/manage/roles/viewRoles.jsp</result>
</action>
<action name="roles" class="struts2.actions.RoleAction" method="add">
<result name="input">/WEB-INF/jsp/manage/roles/addRole.jsp</result>
<result name="success">/WEB-INF/jsp/manage/roles/viewRoles.jsp</result>
</action>
불행히도보기 버튼을 누르면 "추가"메소드의 결과 JSP가 표시됩니다. 왜?
예, 마지막으로 구성된 작업이 실행되고있는 것으로 나타났습니다. Struts 1에서는'/ roles? action = add','/ roles? action = view' 등과 같은 것을 사용했습니다. Struts 2에서도 같은 것을 시도하고 있습니다. 그 아이디어는 간단합니다. 하나의 액션 클래스는 각각의 메소드가 그것 자신의 입력과 소유권을 가지고있는 다른 가능한 액션 메소드 ('/roles.action? method = add','/roles.action? method = view' 등)를 제공합니다. 결과. 공통 입력 및 결과 없음. 이것을 실현하는 방법? – Faisal
@Faisal It *은 동적 메서드 호출을 사용하여 * 가능합니다 (기본적으로 S2.1 IIRC 주변에서 비활성화 됨). 나는 팬이 아니며 S2 반 패턴이라고 말하면서 국경을 접한다. 그럴 필요가 없습니다. –
방금 DMI에 대해 읽은 적이 있습니다. http://struts.apache.org/release/2.3.x/docs/action-configuration.html#ActionConfiguration-DynamicMethodInvocation DMI의 좋은 예를 제공해 주시겠습니까? 와일드 카드가 아닙니다. – Faisal