2

I have a custom component which doesn't use a Custom Controller. On of the optional attribute is of Type ApexPages.Action.

The component renders a command button only when this attribute was set. It should. But intead saving this code in the IDE gives me a:

Unsupported type java.lang.Class encountered.

<apex:component >
   <apex:attribute name="text" type="String" description="..." />
   <apex:attribute name="proceedAction" type="ApexPages.Action" description="..." />

   <apex:form >
       <apex:pageBlock mode="maindetail" rendered="{!ISBLANK(proceedAction)}">
       ...
       </apex:pageBlock>
   </apex:form>
</apex:component>

The problem is that neighter ISNULL() nor ISBLANK() nor any other check seems to work in the rendered attribute.

What am I doing wrong? I am only looking for solutions that work WITHOUT the addition of a custom controller class!

2
  • I would surmise that the SFDC formula language does not support as operand anything of type: java.lang.Class which is what ApexPages.Action is. Can your calling VF pages pass an additional attribute of type boolean when the calling page 'knows' there is no action method for the use case?
    – cropredy
    Jun 14, 2014 at 0:33
  • Might be true, but there must be a way to find out if optional attribute were set or not. And without introducing a redundant Boolean attribute. :-( Jun 16, 2014 at 20:24

1 Answer 1

1

In case anyone else encounters this error and is directed to this page: I experienced the exact same error and verified that it happens both when attempting to deploy a VisualForce page from VSCode via CLI and in the SF Developer Console. After much banging my head against the wall and commenting out pieces until I could find the source, I discovered that the RecordSetVar value for my standardListController happened to begin with the phrase "Class", which seems to be confusing Salesforce since it is a keyword of sorts. That being said, I don't see anything standing out in the above code which could be setting Salesforce off as it did with me, but figured it would be a good idea to share this for posterity regardless!

tldr; check for "keywords" in your variable and expression values!

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .