2010-05-06 1 views
1

내 프로젝트에서 Struts 2 Annotation을 구현하려고하는데 어떻게해야할지 모르겠다. Struts2 - Struts2 어노테이션을 사용하는 방법?

나는 내가 web.xml을

내 작업

package org.apache.struts.helloworld.action; 

import org.apache.struts.helloworld.model.MessageStore; 

import com.opensymphony.xwork2.ActionSupport; 
import org.apache.struts2.convention.annotation.Result; 
import org.apache.struts2.convention.annotation.Results; 


@Results({ 
    @Result(name="success", location="HelloWorld.jsp") 
}) 

public class HelloWorld extends ActionSupport { 

    public String execute() throws Exception { 

     messageStore = new MessageStore() ;  return SUCCESS; 
    } 

JSP 페이지

... 
    <init-param> 
    <param-name>actionPackages</param-name> 
    <param-value>org.apache.struts.helloworld.action</param-value> 
    </init-param> 
... 
을 수정

치어로 대회 - 플러그인 V 2.1.8.1 추가 내 행동을 사용하려고하는 곳에서.

<body> <h1>Welcome To Struts 2!</h1> <p><a href="<s:url action='helloWorld'/>">Hello World</a></p> </body> 

내가 작업 인 helloWorld에 관련된 링크를 누르면,하지만 그건 정확히 동일한 페이지에 저를 보내

. 따라서 index.jsp에서 index.jsp로 전송됩니다.

동작 방식 : HelloWorld.jsp으로 보내야합니다.

FileFront에 프로젝트 (아주 간단한 HelloWorld 앱)를 업로드했는데 누군가가 문제가있는 곳을 보았을 수도 있습니다. http://www.filefront.com/16364385/Hello_World.zip

답변

0

저는 Struts2를 주석 (Struts2 버전? 튜토리얼이나 문서를 따르고 있습니까?)과 함께 사용하지 않았습니다. 하지만 위치 (Result annotation) 대신 이되어야합니까?

0

로그의 내용은 무엇입니까? "성공"을 위해 /HelloWorld.jsp를 사용해 보셨습니까? Struts 프레임 워크가 리소스를 찾지 못해서 같은 페이지를로드하고 있다고 생각합니다.

/HelloWorld.jsp를 사용하면 결과 페이지가 표시됩니다.

1

협약은 다른 협약을 사용하여 CamelCaseAction 이름을 url 및 jsp의 이름으로 변환합니다.

ActionClass : HelloWorldAction.java

JSP : 안녕하세요 - world.jsp

작업 : 안녕하세요 세계

이 협약의 기본값을 사용하는 경우, 당신은 다음과 같은 이름을 사용했을 것으로 판단 또한, 기본적으로 규칙은 WEB-INF/content에서 JSP를 찾습니다. 설명서는 다소 얕은 것이므로 예제를 통해 이해해야하지만 모든 기본값을 참조하십시오. http://struts.apache.org/2.x/docs/convention-plugin.html