문제

성배에는 뷰 레이어에 모듈 식에 대한 두 가지 메커니즘이 있습니다. 주형 그리고 taglib.

내 자신의 Grails 앱을 작성하는 동안 UI 구성 요소를 작성해야 할 때 종종 같은 질문에 직면하고 있습니다. 템플릿이나 taglib를 사용해야합니까?

웹을 검색 한 후에는 많이 찾지 못했습니다. 모범 사례 또는이 설계 결정에 관한 엄지 규칙이 있으므로 저를 도와주고 말씀 드리겠습니다.

  1. 두 메커니즘의 주요 차이점은 무엇입니까?
  2. 어떤 시나리오에서 템플릿 대신 taglib를 사용합니까 (그리고 그 반대로)?
도움이 되었습니까?

해결책

확실히 일부 겹치는 것이 있지만 아래는 몇 가지 생각해야 할 것입니다. 그것에 대해 생각하는 한 가지 방법은 템플릿이 메소드 레벨 재사용과 같지만 Taglibs는 API-Level 재사용에 더 편리하다는 것입니다.

  • 템플릿 디스플레이를 위해 특정한 것을 포맷해야 할 때 좋습니다. 예를 들어, 특정 방식으로 도메인 객체를 표시하는 경우 일반적으로 템플릿에서 수행하는 것이 더 쉽습니다. 기본적으로 일부는 HTML을 작성하기 때문입니다. 재사용 가능하지만 재사용 성이 약간 제한적이라고 생각합니다. 즉, 템플릿이있는 경우 수백 페이지가 아닌 여러 페이지에서 템플릿을 사용합니다.

  • 반면에, taglibs 더 작은 기능 단위이지만 여러 곳에서 사용할 가능성이 더 높습니다. 그것에서 당신은 현을 연결할 가능성이 높으므로, 당신이 백 라인의 HTML을 만들려면, 그것들은 덜 편리합니다. Taglibs가 허용하는 주요 기능은 서비스에 주입 / 상호 작용하는 기능입니다. 예를 들어, 인증 서비스를 호출하고 현재 사용자를 표시하는 코드가 필요한 경우 Taglib에서만 수행 할 수 있습니다. 이 경우 Taglib에 아무것도 전달하는 것에 대해 걱정할 필요가 없습니다. Taglib는 서비스에서 파악할 것입니다. 많은 페이지에서이를 사용할 가능성이 높으므로 매개 변수가 필요하지 않은 Taglib를 갖는 것이 더 편리합니다.

  • 또한 신체의 무언가를 반복하고 조건부 등을 가질 수있는 것들을 포함하여 여러 종류의 taglib도 있습니다. 그것은 실제로 템플릿에서는 불가능합니다. 위에서 말했듯이, 잘 만들어진 TAGLIB 라이브러리는 GSP 코드를 더 읽기 쉽게 만드는 재사용 가능한 API를 만드는 데 사용될 수 있습니다. 동일한 *taglib.groovy 내부에서 여러 개의 태그 정의를 가질 수 있으므로 또 다른 차이점입니다. 한 번 배치로 그룹화하고 한 Taglib에서 다른 Taglib에서 호출 할 수 있습니다.

또한 Taglib 내부에서 템플릿을 호출하거나 템플릿을 사용하여 Taglib에 호출하여 필요에 따라 믹스 및 일치 할 수 있습니다.

이것이 당신을 위해 약간 정리되기를 바랍니다. 그러나 실제로 이것은 많은 것들이 코드에 더 편리하고 얼마나 자주 재사용되는지입니다.

다른 팁

우리는 ...

코더는 다른 곳이 아닌 템플릿에서 특정 객체 프리젠 테이션 로직을 볼 수 있습니다.

우리는 비즈니스 로직과 관련이없는 고립 된 페이지 요소에 대해서만 Taglibs를 사용합니다. 실제로, 우리는 그들의 사용법을 최소화하려고 노력합니다. taglib에 비즈니스 로직을 작성하는 것은 너무 쉽습니다.

템플릿은 기존의 방법입니다. 예를 들어, 그들은 레이아웃을 지원합니다 (BTW, 세 번째 메커니즘으로 선정 될 수 있음).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top