2013-10-07 4 views
1

OGNL을 사용하여 조치 방법을 호출하는 방법은 무엇입니까?OGNL을 사용하여 조치 방법을 호출하는 방법

helloAction.java

public String getQuote() 
{ 
    return "Don't think, just do"; 
} 

success.jsp

<b>quote() :</b> <s:property value="quote()"/> <br> 

struts.xml

<action name="greet" class="com.struts2.helloAction" > 
    <interceptor-ref name="firewallStack"></interceptor-ref> 
    <result name="SUCCESS">/WEB-INF/resources/success.jsp</result> 
    <result name="input">/WEB-INF/resources/success.jsp</result> 
</action> 
,

struts 2 OGNL

quote() 메서드가 호출되지 않습니다. xwork-2.0.1.jar과 ognl-2.6.11.jar을 사용하고 있습니다.

+2

될해야

답변

0

이 quote() 메소드는 호출되지 않습니다. xwork-2.0.1.jar과 ognl-2.6.11.jar을 사용하고 있습니다.

조치에 해당 방법이 없습니다. 정상 OGNL 메서드 호출 구문을

public String quote() { 

및 사용 : 당신이 그것을 만들 경우 원하는

다음
<s:property value="%{quote()}" /> 

그것은 호출됩니다.

4

원본 구문이 거의 정확합니다. –은 괄호에서 제외하십시오. 이 함수는 인수가없는 경우

${quote} 

자바빈 규칙이 바람직 할 수있다 :

<s:property value="%{quote}" /> 

자바빈 경합 명시 적 메소드 호출보다 범용이며, 예를 들면, JSP EL 사용.

+1

그것은 나하지, 그리고 일반적으로 나는 그것이해야한다고 생각 선호 그 기계는 항상 사용할 수 있기 때문에 JSP로 연습하십시오. 그러나 "선호하는"나치는 아마 연결 고리를 원할 것이다. Struts 문서에 대한 쓰기 권한이 있습니까? 그 효과에 문서를 추가하고 여기에 링크를 붙여야합니다. 재미있을 것입니다. – Quaternion

+0

@Quaternion 나는 책에없는 의견을 제공하기 위해 누군가를 추켜주었습니다. 그래서 나는 그것을 내 책에 집어 넣어서 인용 할 수있었습니다. 나는 다른 책을 마쳐야하므로 더 많이 인용 할 수있다;) –

+0

@RomanC 아니, 문제는 메소드 호출 구문을 사용할 필요가없는 * 특정 * 액션 메소드를 호출하는 것이다. 얻는 사람. –