2011-07-26 3 views
1

Integer (0,1) 인 필드 ($P{ORDER}.permit)가 있는데 String ("아니요", "예")로 표시하고 싶습니다. 그래서 ResourceBoundle에 키 아래에 추가 :재스퍼 표현식 중첩

order.permit.0=No 
order.permit.1=Yes 

나는 표현 $R{order.permit.$P{ORDER}.permit}을 쓴하지만 작동하지 않습니다. 예외가 throw되었습니다.

net.sf.jasperreports.engine.JRException : 너무 많은 groovy 클래스가 생성되었습니다. 입니다. 이 보고서 컴파일러에서 지원하지 않는 클로저와 같은 Groovy 기능을 사용하지 않도록하십시오.

이 예외는 jasper 표현을 중첩하거나 잘못된 방법으로 중첩시킨 것으로 의심됩니다.

원하는 결과를 얻으려면 표현식을 어떻게 작성해야합니까?

편집 : str("order.permit." + $P{ORDER}.permit)이 답입니다. 아래 게시물의 세부 정보.

답변

2

$R{} 대신 str()을 사용하십시오.

$ R {} 및 STR (는) 주로 같은 일입니다

http://jasperforge.org/plugins/espforum/view.php?group_id=102&forumid=103&topicid=54665 참조하십시오. 함수 차이 은 $ R {}은 고정/정적 키에서만 사용할 수 있지만 str()은 과 같이 동적 메시지 키와 함께 사용할 수 있습니다. str ("message.prefix."+ $ P {message}).

+0

감사합니다. 'str ("order.permit."+ $ P {ORDER} .permit)'답변입니다! – emstol

관련 문제