You need to sign in to do that
Don't have an account?
jhelbling
How to pass a parameter to a class from an VF page ?
Hello,
I guess this question has been raised several times already but I couldn't make it working even with some example found on the Web ...
I have an APEX class containing a variable for which I need to get a value from a VF Page. Then I have another method that should return the value of this variable (nothing useful ... just an example). My class contains the following :
public class myClass { public string myVariable; public string getTheValue() { return myVariable; } public void setMyVariable(string s) { myVariable = s; } }
An my page is as follow :
<apex:page standardController="Quote" renderas="pdf"> <html> <body> <div style="border-width:1px; border-style:solid; position:fixed; top:450px; right:1px"> <apex:outputText value="{!theValue}"> <apex:param assignTo="{!myVariable}" value="Hello World"/> </apex:outputText> </div> </body> </html> </apex:page>
But I never get anything displayed in the outputText tag. I tried to put the apex:param part before the outuputText as I thought that maybe it has not been initialized ... but it didn't help.
Does anybody have an idea about what's wrong ?
Does anybody have an idea about what's wrong ?
Hmm. Not sure I quite understand this.
Are you trying to execute the SOQL query each time through the outer apex:repeat? If so, that won't fly. You'll need to set up all your data before the page is rendered.
If that's not what you are looking for, can you elaborate a little?
All Answers
apex:param doesn't work that way with outputtext. The params are used as replacements in the value of the output text.
The Apex Developer's Guide has examples of this at:
http://www.salesforce.com/us/developer/docs/pages/index_Left.htm#CSHID=pages_compref_outputText.htm|StartTopic=Content%2Fpages_compref_outputText.htm|SkinName=webhelp
I wrote a blog post a few days ago regarding passing parameters from the page to the controller at:
http://bobbuzzard.blogspot.com/2011/07/passing-parameters-to-apex-method-from.html
Hi,
Have you tried using <apex:actionSupport> tag and are you performing any action before sending the variable to the controller.
Could you please ellaborate you requirement and what exactly you are trying to achieve.
Hi
You can do that in this way there is no need of using contoller when you are
using Param for outputtext.
<apex:page standardcontroller="Quote" renderas="pdf">
<apex:form>
<apex:outputext value="{0}">
<apex:param value="Hello Word" assignedto="{!Myvalue}" name="param">
</apex:outputtext>
</apex:form>
</apex:page>
I think this solves your issue.
Thanks
What I'm trying to do is actually the exact same situation described here : http://stackoverflow.com/questions/4094659/is-it-possible-to-pass-argument-from-visualforce-apex-tag
Do I really need a custom component if I have to dynamically pass a value ?
Thanks,
Nope, you just need to use a commandlink/commandbutton and specify the apex:param inside that component. Ensure that your commandlink/commandbutton has a rerender attribute and that you have specified a name, assignto and value attribute for the param. Then by the time the action method that is the target of the button/link is executed, the parameter value will be available in the controller.
Going further in the development : is it possible to assign a value to an APEX variable from a VF Page WITHOUT the apex:param tag ?
My VF Page will be rendered as PDF and I don't need any interaction with the user. I just need to assign some value to an APEX variable, and thoses values will come from data displayed in an apex:repeat tag ... In pseudo code it would look like :
The idea is that the 2nd apex:repeat will get its value from a SOQL request that need the variable to be set with a value coming from the 1st apex:repeat bloc ... The variable will help filter out the data.
Thank you very much.
Hmm. Not sure I quite understand this.
Are you trying to execute the SOQL query each time through the outer apex:repeat? If so, that won't fly. You'll need to set up all your data before the page is rendered.
If that's not what you are looking for, can you elaborate a little?
Thanks bob_buzzard.
It's effectively what I was trying to do ... Ok I'll then look for another way to implement this.
Best regards,