2011-01-14 4 views
1

내 스트럿츠 2 웹 앱에는 웹 페이지에 여러 메뉴 탭이 있습니다. 이 메뉴 탭은 클릭하면 아약스 활동을 시작합니다. 이러한 모든 행동은 하나의 행동 수업으로 진행됩니다. 이 조치 클래스는 요청을 도우미 클래스로 라우트합니다. 도우미 클래스에는 다음과 같은 메서드가 있습니다.
action = this 일 경우
action = that 인 경우
등등 ... 각 동작 (예 : 각 탭)에 대해 이렇게합니다.
누군가이 디자인에 대한 의견을 제시 할 수 있습니까? 이것은 struts 2를 올바르게 사용 했나요? 아니면 별도의 행동 수업을 가져야합니까? 또한 , 헬퍼 클래스에 대한 표준 방식 (즉 그것은, 싱글 스레드 안전 등 정적한다) 생각의struts2 액션 클래스 -1 클래스 (아약스) 요청 당?

+0

코드 예. –

+1

오 소년. 그게 조금 어려울 수도 있습니다 .. 일반적인 팁? 코드 샘플이 없으면 약간 어렵다는 것을 이해합니다. – Victor

답변

1

커플 :

아무 문제가 처리 할 Action 클래스를 사용하여 없습니다
  • 여러 struts2 작업; struts2를 사용하면 특정 액션을 클래스의 메소드로 라우트 할 수 있습니다. 클래스 자체가 유용한 구성 장치 인 경우 유용 할 수 있습니다. 예를 들어 생성, 읽기, 업데이트 등의 위젯을 만들 수 있으며 CreateWidgetAction, ReadWidgetAction 등의 클래스 세트를 사용하지 않아도 많은 혼란을 야기 할 수 있습니다. 단순히 WidgetAction 클래스를 사용하는 것이 좋습니다. 그것에 대한 create(), update() 등 메소드가 있습니다. 나는 당신이 묘사 한 것 (다른 메뉴 탭)을 감안할 때, 당신의 경우에는 그다지 적합하지 않다고 생각하지만, 확실히 그것을 할 수 있습니다. 코드를 유지하면서 볼 파일이 적습니다.

  • 결과를 렌더링하는 다른 JSP뿐만 아니라 다른 방법에도 다른 동작을 매핑해야합니다.

  • 도우미 클래스와 관련하여, 필자의 조언은 뷰 + 컨트롤러 관련 로직을 Action 클래스에 넣고 모델 논리를 다른 클래스 (헬퍼 클래스)에 남겨 두는 것입니다. 귀하의 도우미 클래스가 표현과 독립적으로 데이터를 계산하는 경우, 이것은 확실히 합법적입니다. 그러나 헬퍼 클래스가 단순히 뷰를 준비하고 있다면 로직을 액션 자체에 넣으십시오.