View
목차
- Visualforce란
- Variables & Formulas
Visualforce
: Lightning Platform에서 호스팅할 수 있는 어플리케이션을 위한 custom UI를 구축할 수 있도록 하는 웹 개발 프레임워크
- Lightning Experience 스타일과 일치하는 앱 & 완전히 custom된 인터페이스 구축 O
- 이를 통해 개발자는 세일즈포스의 기본 제공 기능 확장, 새로운 기능으로 교체, 완전히 새로운 앱 구축 O
각 페이지는 고유한 URL로 액세스 O
누군가 페이지에 액세스하면 서버는 페이지에 필요한 모든 데이터 처리 수행하고, 페이지를 HTML로 렌더링하고 결과를 브라우저에 반환
Visualforce Page
: 앱 개발자를 위한 기본 빌딩 블록
- Visualforce page는 standard Web page와 유사하지만 org의 데이터에 액세스, display, 업데이트 할 수 있는 기능 포함됨
- Page는 기존 웹 서버에서와 마찬가지로 고유한 URL을 통해 참조, 호출 O
- HTML과 유사한 태그 기반 마크업 언어 사용
- 각 Visualforce tag는 페이지 섹션, list view, 개별 필드와 같은 인터페이스 구성 요소에 해당
- Visualforce markup은 HTML markup, CSS style, JavaScript Libraries와 자유롭게 혼합 O
예시
<apex:page>
<h1>Hello World</h1>
<apex:pageBlock title="A Block Title">
<apex:pageBlockSection title="A Section Title">
I'm three components deep!
</apex:pageBlockSection>
<apex:pageBlockSection title="A New Section">
This is another section.
</apex:pageBlockSection>
</apex:pageBlock>
</apex:page>
↓
Variables & Formulas
Visualforce Page에서 동적 데이터 표시 가능
동적 데이터는 페이지 컨트롤러에서 사용할 수 있는 전역변수, 계산, 속성을 사용해 마크업에서 액세스됨 => Visualforce expressions*
Dynamic ouput에 expression 사용 / attribute에 값을 할당해 component에 값 전달
Visualforce expression syntax :
{! expression }
{! } 구분기호 안에 있는 항목은 페이지가 렌더링 되거나, 값이 사용될 때 동적으로 대체됨 (공백은 무시)
Global Variables
예시) 전역변수를 사용하여 Visualforce markup의 시스템 값과 리소스에 액세스 하기 (User object)
<apex:page>
<apex:pageBlock title="User Status">
<apex:pageBlockSection columns="1">
{! $User.FirstName } {! $User.LastName }
({! $User.Username })
</apex:pageBlockSection>
</apex:pageBlock>
</apex:page>
{! ... } 중괄호 내의 항목은 모두 동적이며, 표현식 언어로 작성되었음을 Visualforce에 알림.
누군가 페이지를 볼 경우 런타임에 계산되고 대체됨
대소문자 구분 X, {! ... } 내의 공백 무시
Formula Expression
// & 문자열 연결 수식
{! $User.FirstName & ' ' & $User.LastName }
// Today() 함수
<p> Today's Date is {! TODAY() } </p>
<p> Next week it will be {! TODAY() + 7 } </p>
// Today() 함수 출력 결과
Today's Date is Thu Sep 18 00:00:00 GMT 2014
Next week it will be Thu Sep 25 00:00:00 GMT 2014
// 여러 수식
<p>The year today is {! YEAR(TODAY()) }</p>
<p>Tomorrow will be day number {! DAY(TODAY() + 1) }</p>
<p>Let's find a maximum: {! MAX(1,2,3,4,5,6,5,4,3,2,1) } </p>
<p>The square root of 49 is {! SQRT(49) }</p> //루트 구하는 함수
<p>Is it true? {! CONTAINS('salesforce.com', 'force.com') }</p> //Boolean값 반환
Conditional Expressions
조건식을 사용해 표현식의 값에 따라 다른 정보 표시
IF( )와 같은 조건부 수식 사용
3가지 인수 사용
- Boolean: true / false
- 1번째 매개변수가 true인 경우 반환할 값
- 1번째 매개변수가 false인 경우 반환할 값
예시
(User가 active 상태이면 username 반환, 아니면 'inactive' 문자열 반환)
({! IF($User.isActive, $User.Username, 'inactive') })
Visualforce 내에서 사용할 수 있는 24개의 Visualforce 전역 변수 참조
참조 : Trailhead - Visualforce basics
'Salesforce UI' 카테고리의 다른 글
[Lightning Component] Controller vs Helper (0) | 2022.02.22 |
---|---|
Visualforce 기초 04_Custom Controller (0) | 2022.01.04 |
Visualforce 기초 03 (0) | 2022.01.04 |
Visualforce 기초 02 (0) | 2022.01.03 |