2013-08-06 5 views
1

Struts2를 처음 사용했습니다.모든 페이지에서 필요한 작업을 읽는 방법?

ActionSupport 구현 클래스를 사용하지 않고 클래스에서 메소드를 호출하는 방법은 무엇입니까? 그래서 간단한 자바 클래스. include jsp 파일에 뭔가를 추가하려고하기 때문입니다. 따라서이 값은 항상 유효합니다 - 요청한 페이지와 독립적입니다.

아마도 간단합니다.

+0

나는 당신이하려는 것을 이해하지 못합니다. 왜 그냥 jsp 파일을 포함시킬 수 없습니까? –

+0

또한 관련 렌더링없이 * 임의의 Java 함수를 호출하려는 경우 OGNL을 통해 수행 할 수 있습니다. 당신은 더 분명해야합니다. –

+0

귀하의 실제 요구가 무엇인지 더 자세히 설명하기 위해 질문을 수정하십시오. –

답변

2

를 들어 당신은 ActionSupport를 클래스를 확장하지 않고 작업을 작성할 수 있습니다.

ActionSupport

은 편리 에 대한 ActionSupport 일반적인 방법의 기본 구현 (예, execute(), input()), Action.SUCCESS, Action.ERROR에 대한 접근과 다른 결과 이름 등을 제공가

액션 클래스입니다 :

public class TestAction 
{ 
    public String testMethod() 
    { 

     return "success"; 
    } 
} 

struts.xml :

<action name="TestAction" class="com.TestAction" method="testMethod"> 
    <result name="success">Mypage.jsp</result> 
</action> 
+0

sturts.xml 확장자가없는 JSP 페이지에서 testMethod를 단순히 호출 할 수 없습니까? – feder

+1

아니요, struts.xml에서 작업 매핑이 필요합니다. –

2

Struts2 아키텍처에서는 ActionSupport 클래스를 확장 할 필요가 없습니다. 유연합니다. ActionSupport은 단순한 편의이며 유효성 검사와 같은 기본 기능을 제공합니다. 간단한 pojo 액션 클래스를 작성할 수 있습니다. jsp과 같은 리소스로 전달하는 데 사용되는 String을 반환하면됩니다.

public class MyAction 
{ 
    public String testAction() 
    { 
     //Perform your logic here. Note it is not mandatory to return SUCCESS here, you can actually return any String here, but make sure you map that String to a resource in your `struts.xml` 
     return SUCCESS; 
    } 
} 
관련 문제