2011-03-07 5 views
2
<s:form action="someAction"> <s:form action="someAction">

Struts2 - 다음 액션에서 속성 값 가져 오기

내 struts.xml에

이 포함되어 있습니다.
<action name="someAction" 
     class="com.test.testaction.getValue" 
     method="getValuedemo"> 
    <result name="success" type="redirectAction">demo</result> 
</action> 

내 액션에

이 포함되어 있습니다.
public class getValue extends ActionSupport{ 
    private String userName; 

    public String getUserName() { 
     return userName; 
    } 

    public void setUserName(String userName) { 
     this.userName = userName; 
    } 

    public String getValuedemo() { 
     userName = "tmpUser"; 
    } 
} 
제 질문은 demo.action에서 사용자 이름 속성을 얻는 방법입니다. 제발 도와주세요

답변

6

당신은

<action name="someAction" class="com.test.testaction.getValue" method="getValuedemo"> 
    <result name="success" type="redirectAction"> 
     <param name="actionName">demo</param> 
     <param name="userName">${userName}</param> 
    </result> 
</action> 

는 또한 데모 행동에 사용자 이름 게터/세터를 추가 매개 변수로 사용자 이름을 전달할 수 있습니다

1

특정 동작과 관련된 값은 요청 당입니다. 작업에 값을 설정하고 리디렉션하면 해당 값이 손실됩니다. getValue가 데모로 리디렉션하는 경우 getValue 액션의 목적은 무엇입니까? DemoAction에서 userName getter 및 setter를 사용하지 않는 이유는 무엇입니까?

당신이하고자하는 것에 대한 자세한 내용을 제공하기 위해 질문을 수정하십시오.

또한 작업 이름은 대문자로 시작해야하는 클래스의 Java 명명 규칙을 따르지 않습니다. 또한 GetValue보다 더 나은 작업 이름을 제안 할 수 있습니다. 당신이 redirectAction을, 체인을 사용하지 리디렉션 할 수 있도록

0

먼저 사용 체인 결과 유형 ...

<result name="success" type="chain">demo.action</result> 

그런 다음 인터셉터에 대해 읽어보십시오.