GSP에서 함수를 어떻게 선언 할 수 있습니까? taglib와 같은 것을 필요로하지만 GSP 내부에 선언해야합니다. 외부에서는 문제가되지 않습니다.GSP 안에 함수를 선언 할 수 있습니까?
답변
GSP에서 메소드를 정의 할 수 없습니다. 당신이 원한다면 당신은 익명 함수를 가질 수 있습니다 : D
예 : 그 작은 포맷이 인라인 될 수 있기 때문에이 예는, 너무 많은 이해가되지 않습니다
<%
def prettify = { "***$it***" }
%>
<h1>${prettify(someText)}</h1>
있지만. 보기에 대한 추가 논리의 모든 종류의 경우, 나는 OverZealous recommendation을 따르고 taglib을 사용합니다.
아니요. 이것은 GSP의 목적에 완전히 위배됩니다. GSP는 프로그래밍 논리가 아닌 시각적 인 마크 업 정보를 처리하도록 설계되었습니다. GSP 에 직접 함수를 던지면이 코드를 유지할 수 없게됩니다.
왜 태그에 넣지 않습니까? 이것은 태그가있는 것입니다. 그것이 당신의 GSP에서만 사용된다는 것은 중요하지 않습니다. GSP에는 간단한 디스플레이 로직과 출력 내용 만 포함되어야합니다. 재사용 가능한 코드는 항상 taglib 또는 복잡한 로직을위한 일종의 컨트롤러 또는 서비스에 포함되어야합니다.
Gaelyk 또는 Grails와 같이 사용중인 프레임 워크는 언급하지 않았습니다. (어떤 이유로 서버에서 순수한 Groovy를 사용하지 않는 한) 더 많은 정보없이 좋은 해결책을 추천 할 실용적인 방법은 없습니다.
GSP에서 JSP 스타일의 태그 (<% %>
)를 사용하고 있다면 아마도 잘못했을 것입니다.
더 나은 대답을 원하면 프로그래밍 환경, 목표 및 이유 (taglib를 사용하지 않는 이유)에 대한 자세한 정보를 제공하십시오.
행에 대한 템플릿이 있다고 가정합니다. 이 템플릿은이 GSP 외부에서 측정하지 않습니다. GSP 내부에서 템플릿을 선언 할 수 있습니까? –
'
은 계층과 같은 작은 내부 템플릿에 유용 할 수 있습니다. – Guillaume
- 1. 열거 형의 함수를 선언 할 수 있습니까?
- 2. Javascript의 if 문 안에 함수를 호출 할 수 있습니까?
- 3. ColdFusion 8에서는 cfscript를 사용하여 함수를 비공개로 선언 할 수 있습니까?
- 4. C에서 CURSES라는 함수를 C로 선언 할 수 있습니까?
- 5. 템플릿 클래스에 템플릿 friend 함수를 어떻게 선언 할 수 있습니까?
- 6. JavaScript : 호출되는 함수를 쿼리하여 변수를 선언 할 수 있습니까? (초보자)
- 7. 익명 개체에 메서드를 선언 할 수 있습니까?
- 8. 파이썬에서 함수를 forward-declare 할 수 있습니까?
- 9. GSP
- 10. 내가 함수에서받는 함수를 선언 할 계획
- 11. Java에서 기본 생성자를 선언 할 수 있습니까?
- 12. 선언 후에 문자열을 초기화 할 수 있습니까?
- 13. 헤더 파일에 메서드를 선언 할 수 있습니까?
- 14. Ext.Component를 전역 변수로 선언 할 수 있습니까?
- 15. 배열 속성을 어떻게 선언 할 수 있습니까?
- 16. 트리거 내에서 변수를 선언 할 수 있습니까?
- 17. 비트 테이블을 선언 할 수 있습니까?
- 18. 빈 터플을 어떻게 선언 할 수 있습니까?
- 19. decltype에서 r 값을 선언 할 수 있습니까?
- 20. Rakefile에서이 종속성을 어떻게 선언 할 수 있습니까?
- 21. 상위의 CSS를 선언 할 수 있습니까?
- 22. PHP 오류 - 함수를 다시 선언 할 수 없습니다.
- 23. 함수 안에서 함수를 선언 하시겠습니까?
- 24. 어디에서 HTML 문서 안에 jQuery 함수를 넣을 수 있습니까?
- 25. 선언 된 함수를 찾을 수 없습니다.
- 26. JSP에서 함수를 선언 하시겠습니까?
- 27. Java에서 메서드/생성자 선언을 다른 메서드/생성자 선언 안에 표시 할 수 있습니까?
- 28. 왜 같은 클래스 안에 클래스의 정적 객체를 선언 할 수 있습니까?
- 29. fstream 객체를 선언 할 수 없습니까? 포인터로 선언 할 수 있습니까?
- 30. 자바 스크립트에서 인수 유형을 선언 할 수 있습니까?
대부분의 경우에 Taglib (또는'g : render'라고 부르는 서브 템플릿)은 올바른 해결책입니다. 그러나 때로는 GSP에서 한 번만 작성하는 것이 좋지만, 외부 파일에 대한 그러한 승격을 보증하지는 않는 반복 논리의 작은 비트가 있습니다. 이 경우, 나는 이렇게 쓰고 싶다 :' '클로저를 정의하는 이중 말괄선 {{}}을 주목하십시오. 그런 다음 이것을 일반 함수처럼 사용하십시오 :'$ {greet ("Sam")}' –
Tobia