apex:define

A template component that provides content for an <apex:insert> component defined in a Visualforce template page.

Use this component to get user input for a controller method that does not correspond to a field on an sObject. Only <apex:inputField> and <apex:outputField> can be used with sObject fields.

See also: <apex:composition>, <apex:insert>

Example 

1<!-- Page: composition -->
2<!-- This page acts as the template. Create it first, then the page below.  -->	
3<apex:page>
4    <apex:outputText value="(template) This is before the header"/><br/>
5    <apex:insert name="header"/><br/>
6    <apex:outputText value="(template) This is between the header and body"/><br/>
7    <apex:insert name="body"/>
8</apex:page>
9            
10<!-- Page: page -->
11<apex:page>
12    <apex:composition template="composition">
13        <apex:define name="header">(page) This is the header of mypage</apex:define>
14        <apex:define name="body">(page) This is the body of mypage</apex:define>
15    </apex:composition>
16</apex:page>

The example above renders the following HTML:

1(template) This is before the header<br/>
2(page) This is the header of mypage<br/>
3(template) This is between the header and body<br/>
4(page) This is the body of mypage

Attributes 

Attribute NameAttribute TypeDescriptionRequired?API VersionAccess
nameStringThe name of the insert component into which the content of this define component should be inserted.Yes10.0global

See Also