나는 값이 어디에 내가 가진 개체의 종류에 따라 달라집니다 html로 출력해야합니다 (나는 DB 표현 사이에 전환 해요). 지금은 g:if
표현의 블록에 내 논리가 있습니다. 읽고 디버깅하기가 상대적으로 어렵습니다.GSP의 일반 도우미 메서드에서 변수를 설정하려면 어떻게해야합니까?
<g:if test="${o.isKindA}">
<g:set var="x" value="${...}" />
<g:set var="y" value="${...}" />
...
</g:if>
<g:else>
<g:set var="x" value="${...}" />
<g:set var="y" value="${...}" />
...
</g:else>
나는 o
의 방법으로이 값 X와 Y를 추가 특히 관심이없는입니다. 그러나, 이것은 실패
// Tag Helper
//
class AmazingTagLib {
def valueXFor = { attrs -> o.isKindA? 1 : 2 }
...
}
// The previous GSP, rewritten
//
...
<g:set var="x" value="${ valueXFor(o) }" />
: 내가 뭘하려는 것은 내가 Grails의에서 "태그 lib 디렉토리를"== 이해 뷰 도우미를 사용하여 설정됩니다. x
을 사용하려고 시도하면 빈 StreamCharBuffer에 바인딩됩니다. 이는 에 의 구현을 첨부하지 않았기 때문일 수 있습니다. 그것은 내 도우미의 정수 값을 반환해야합니다.
필자의 시각에서 이러한 헬퍼 메소드를 어떻게 사용할 수 있습니까?
보십시오 당신이 당신의 태그 라이브러리에있는 당신의 방법을 정의하기 직전에이 추가 :'정적 returnObjectForTags의 = [ 'valueXFor를']' –
을 수행 OMG, @JoshuaMoore! 답변을 제출하십시오! 당신은 제 동료들의 수십 점을 얻으 려합니다. –
기꺼이 도와 드리겠습니다. (: –