2010-03-06 2 views
2

저는 다양한 이메일을 사용자에게 보내야하는 웹 응용 프로그램을 만들고 있습니다. 앱에서 전자 메일의 내용을 하드 코딩하는 대신 디스크에 저장된 템플릿을 사용하고 실제 데이터로 토큰 (예 : "Hello, %% FirstName %%!")을 바꾸기를 원합니다. XSLT 템플릿을 만드는 데 약간의 경험이 있지만 데이터가 자연히 XML 형식이 아니기 때문에 이것이 가장 적합하지 않을 수 있습니다. .NET에 더 나은 템플릿 도구가 있습니까?XSLT보다 .NET 템플릿 시스템이 더 좋습니까?

언어에 내장 된 언어를 선호하지만 추가 기능도 고려해야합니다.

감사합니다,

그레이엄

+0

나는 없을 것이라고 생각합니다. 대부분 개발자는 토큰을 사용하지만 String.Replace 또는 StringBuilder.Replace와 같은 토큰으로 대체합니다. xslt 또는 다른 솔루션을 사용하는 유일한 고려 사항, 변경 사항이 얼마나 유연한 지 알고 있기 때문에 이것이 맞는 것 같습니다. 그것이 고려해야 할 주된 이유입니다 –

+0

.NET에서 훌륭한 템플릿 도구 인 Spark를 확인하십시오. – Noel

답변

1

당신은 MVCContrib에서 살펴 봐야 할 수 있습니다. 그들은 다른보기 엔진을 포함하여 많은 기능에 대한 액세스를 제공하는 실제 전자 메일 메시지를 렌더링하기 위해보기를 사용하는 전자 메일 템플릿 시스템 IEmailTemplateService을 가지고 있습니다. MVC 환경이 아니라면 유용한 트릭을 추출 할 수 있습니다.

0

저는 NVelocity를 사용하고 있으며 매우 유연하고 사용하기 쉽습니다. 그것은 tokes를 대체 할뿐만 아니라 프로그래밍 언어의 일종을 포함합니다. 조건부 (if)와 루프 (for, foreach).

original project은 죽어있는 것처럼 보이지만 Castle project에 의해 관리되는 포크가 있습니다.

물론 다른 템플릿 템플릿 라이브러리 (stringtemplate이 인기가있는 것 같습니다)가 많이 보입니다. in this question 나는 얼마 전에 질문했습니다.

2

나는 개인적으로 스파크를 사용하고 있습니다. 그것의 쉬운

<var names="new [] {'alpha', 'beta', 'gamma'}"/> 
<for each="var name in names"> 
    <test if="name == 'beta'"> 
    <p>beta is my favorite.</p> 
    <else/> 
    <p>${name} is okay too I suppose. 
    </test> 
</for> 

그것은 심지어 당신이 github에 볼 수 있었다 이메일 텍스트 템플릿에 대한 샘플 코드와 함께 제공됩니다 (아래 불꽃 구문의 예입니다) 텍스트 템플릿 라이브러리를 사용합니다.

+0

[tag : spark-view-engine]을 의미합니까? – surfmuggle

+1

예, 그 중 하나입니다. 필요한 경우 템플릿 엔진을 직접 사용할 수도 있습니다. – Noel

관련 문제