Регистрация  |  Вход

Это у меня глюки? rendered в VF

Привет.
Сегодня Salesforce сломал мой мозг. Я долго не мог понять почем не работает моя страница. Все перепробовал, потратил кучу времени, а прикол оказался в самом казалось бы безобидном месте.

Народ, это у меня глюки или в Salesforce?

Вот кусок кода:

FUCK
<div>
<apex:outputPanel layout="block" rendered="{!pLastLocation!=null}" >
AAAAA
</apex:outputPanel>
<apex:outputPanel layout="block" rendered="{!pLastLocation==null}" >
BBBBB
</apex:outputPanel>
</div>
<div>
<apex:outputPanel layout="block" rendered="{!ISNULL(pLastLocation)}" >
CCCCC
</apex:outputPanel>
<apex:outputPanel layout="block" rendered="{!NOT(ISNULL(pLastLocation))}" >
DDDDD
</apex:outputPanel>
</div>

Вот что мне возвращает SF:


FUCK
AAAAA
BBBBB
CCCCC

Как такое может быть?
pLastLocation - это переменная которая должна содержать экземпляр apex класса (DTO).
В этот момент она только объявлена, но не проинициализирована, т.е. по идее должна содержать null.

Привет. 
Сегодня Salesforce сломал мой мозг. Я долго не мог понять почем не работает моя страница. Все перепробовал, потратил кучу времени, а прикол оказался в самом казалось бы безобидном месте.

Народ, это у меня глюки или в Salesforce?

Вот кусок кода:
[code]
	FUCK
	<div>
		<apex:outputPanel layout="block" rendered="{!pLastLocation!=null}" >
			AAAAA
		</apex:outputPanel>
		<apex:outputPanel layout="block" rendered="{!pLastLocation==null}" >
			BBBBB
		</apex:outputPanel>
	</div>
	<div>
		<apex:outputPanel layout="block" rendered="{!ISNULL(pLastLocation)}" >
			CCCCC
		</apex:outputPanel>
		<apex:outputPanel layout="block" rendered="{!NOT(ISNULL(pLastLocation))}" >
			DDDDD
		</apex:outputPanel>
	</div>
[/code]

Вот что мне возвращает SF:

[b]
FUCK
AAAAA
BBBBB
CCCCC
[/b]

Как такое может быть?
pLastLocation - это переменная которая должна содержать экземпляр apex класса (DTO).
В этот момент она только объявлена, но не проинициализирована, т.е. по идее должна содержать null.

А серверный код где?
Контоллер/getpLastLocation, еще что-то)

А серверный код где?
Контоллер/getpLastLocation, еще что-то)

Dmitry Shnyrev
Привет.
Сегодня Salesforce сломал мой мозг. Я долго не мог понять почем не работает моя страница. Все перепробовал, потратил кучу времени, а прикол оказался в самом казалось бы безобидном месте.

Народ, это у меня глюки или в Salesforce?

Вот кусок кода:

FUCK
<div>
<apex:outputPanel layout="block" rendered="{!pLastLocation!=null}" >
AAAAA
</apex:outputPanel>
<apex:outputPanel layout="block" rendered="{!pLastLocation==null}" >
BBBBB
</apex:outputPanel>
</div>
<div>
<apex:outputPanel layout="block" rendered="{!ISNULL(pLastLocation)}" >
CCCCC
</apex:outputPanel>
<apex:outputPanel layout="block" rendered="{!NOT(ISNULL(pLastLocation))}" >
DDDDD
</apex:outputPanel>
</div>

Вот что мне возвращает SF:


FUCK
AAAAA
BBBBB
CCCCC

Как такое может быть?
pLastLocation - это переменная которая должна содержать экземпляр apex класса (DTO).
В этот момент она только объявлена, но не проинициализирована, т.е. по идее должна содержать null.

Если правильно помню есть у них такой косяк. Я обычно проверяю на size

[quote="Dmitry Shnyrev"]Привет. 
Сегодня Salesforce сломал мой мозг. Я долго не мог понять почем не работает моя страница. Все перепробовал, потратил кучу времени, а прикол оказался в самом казалось бы безобидном месте.

Народ, это у меня глюки или в Salesforce?

Вот кусок кода:
[code]
	FUCK
	<div>
		<apex:outputPanel layout="block" rendered="{!pLastLocation!=null}" >
			AAAAA
		</apex:outputPanel>
		<apex:outputPanel layout="block" rendered="{!pLastLocation==null}" >
			BBBBB
		</apex:outputPanel>
	</div>
	<div>
		<apex:outputPanel layout="block" rendered="{!ISNULL(pLastLocation)}" >
			CCCCC
		</apex:outputPanel>
		<apex:outputPanel layout="block" rendered="{!NOT(ISNULL(pLastLocation))}" >
			DDDDD
		</apex:outputPanel>
	</div>
[/code]

Вот что мне возвращает SF:

[b]
FUCK
AAAAA
BBBBB
CCCCC
[/b]

Как такое может быть?
pLastLocation - это переменная которая должна содержать экземпляр apex класса (DTO).
В этот момент она только объявлена, но не проинициализирована, т.е. по идее должна содержать null.[/quote]

Если правильно помню есть у них такой косяк. Я обычно проверяю на size

wilder
Я обычно проверяю на size

Пока не проверял, просто предполагаю.
А будет ли работать size от null, не выкинет ошибку?

Кстати я раньше только и использовал FORMULA для всякого рода проверок (ISNULL(), ISBLANK(), NOT(), OR(), AND()) да вот не помню почему перешел на простые проверки типа == != && || в блоках Rendered. По ходу это была плохая идея, хотя до этого проблем не было.

[quote="wilder"]Я обычно проверяю на size[/quote]
Пока не проверял, просто предполагаю.
А будет ли работать size от null, не выкинет ошибку?

Кстати я раньше только и использовал FORMULA для всякого рода проверок (ISNULL(), ISBLANK(), NOT(), OR(), AND()) да вот не помню почему перешел на простые проверки типа == != && || в блоках Rendered. По ходу это была плохая идея, хотя до этого проблем не было.