Salesforce Visualforce页面中日期和ID值的呈现不一致

Salesforce Visualforce页面中日期和ID值的呈现不一致,salesforce,apex-code,visualforce,force.com,Salesforce,Apex Code,Visualforce,Force.com,我无法理解为什么VF页面上显示的数据不一致。我正在页面块表中显示Id和日期。我使用apex:column标记来显示数据。当我在value属性中声明数据时没有任何空格,我得到的Id长度为15个字符,但当我在value attirbute中包含空格时,会显示18个字符的Id。我不明白为什么会这样? {!a.CreatedDate} 当您仅拉动列,不带任何空格时,Visualforce将使用该类型的开箱即用界面显示字段。根据: Salesforce用户界面中的ID字段包含15个字符、base-62

我无法理解为什么VF页面上显示的数据不一致。我正在页面块表中显示Id和日期。我使用apex:column标记来显示数据。当我在value属性中声明数据时没有任何空格,我得到的Id长度为15个字符,但当我在value attirbute中包含空格时,会显示18个字符的Id。我不明白为什么会这样?


{!a.CreatedDate}

当您仅拉动列,不带任何空格时,Visualforce将使用该类型的开箱即用界面显示字段。根据:

Salesforce用户界面中的ID字段包含15个字符、base-62、区分大小写的字符串

将字符串附加到ID字段时,将ID的值转换为字符串。由于页面只对值感兴趣,如SOQL查询或Apex字符串方法,因此返回“原始”值

所有API调用都会返回一个18位、大小写安全的ID版本


如果仅拉动列,不带任何空格,Visualforce将使用该类型的开箱即用界面显示字段。根据:

Salesforce用户界面中的ID字段包含15个字符、base-62、区分大小写的字符串

将字符串附加到ID字段时,将ID的值转换为字符串。由于页面只对值感兴趣,如SOQL查询或Apex字符串方法,因此返回“原始”值

所有API调用都会返回一个18位、大小写安全的ID版本

<apex:pageblock>
<apex:pageblockTable value="{!acc}" var="a">
     <apex:column value="{!a.Id}" headerValue="Id without space(15 char)"/>
     <apex:column value=" {!a.Id}" headerValue="Id with space(18 char)"/>
     <apex:column value="{!a.CreatedDate}" headerValue="Date defined in the Value attributes"/>
     <apex:column headerValue="Date not declared in the Value Attribute" >{!a.CreatedDate}</apex:column>
</apex:pageblockTable>
</apex:pageblock>