26.8 | 레이저 표현식
26.8.1 레이저 뷰 엔진
ASP.NET MVC에서 화면에 내용을 출력할 때 내부적으로 처리해 주는 기능을 뷰 엔진(View Engine)이라고 한다. 기존 웹 폼에서 사용하던 <% %> 스타일을 웹 폼 뷰 엔진이라고 하고, MVC에서 새롭게 도입되어 사용되는 뷰 엔진을 레이저(Razor) 뷰 엔진이라고 한다.
레이저 뷰 엔진은 레이저 표현식(Razor Syntax, 레이저 구문)이라고 하는데 사용하기 편하고, 배우기 쉽고, 똑똑한 것이 장점이다. 레이저 템플릿은 템플릿(기본 뼈대)과 데이터를 묶어서 하나의 결과물(아웃풋)을 내는 데 초점을 맞춘다.
레이저 구문을 간단히 살펴보면 @ 기호를 사용해 서버 측 코드를 표시하는데 @로 서버 측 C# 코드를 출력한다. @@는 @ 기호 자체를 출력하고, @: 기호는 텍스트를 출력하는 명령이다. <text> 태그로 텍스트를 묶으면 레이저 구문 내에서 순수 텍스트를 출력한다.
MVC는 실행 시 문맥에서 @의 정확한 의미를 유추한다. <a href="mailto:me@dul.me">와 같은 이메일 코드에서의 @은 서버 측 코드를 나타내지 않고, 이메일에서 사용되는 @ 기호 자체로 출력된다. 이메일 코드에서의 @은 일반적인 HTML로 표시하고 다른 곳에서 @ 기호 하나를 표현하기 위해서 @@ 기호를 사용하면 된다. @("@")으로도 @ 기호 자체를 출력할 수 있다.