You need to sign in to do that
Don't have an account?
I Need Help Passing a Parameter to an Apex Page and Calling a Java Function
Hello, I am working on a test involving the passing of variables. Basically, a user is on a splash page where they input some values in an HTML form, which are then passed to my Apex page to be used as parameters in Java Functions.
I am new to this, so I've created a simple test. I set up a Splash Page where a user uses a dropdown to select the make of a car. Based on their selection, this parameter is passed to my Java-Interacting Apex Page. So far, I got this part working as the parameter of my HTML form was in my URL:
http://a.salesforce.com/apex/CarSales?carmake=Ford
Now, this is where I"m getting stuck. I want to use my apex Page to send this variable to one of my Apex Classes where it will call a Java Function.
Here is the Apex Code I have from the web interface. carmake represents the variable that was passed from the previous HTML form.
<apex:page controller="Cars"> {!getMake(carmake)} </apex:page>
Here is my Cars Class
public class Cars { String make; public String getMake(String c) { if (c == 'Ford') { make = 'You have selected Ford'; } else { make = 'You have not selected Ford'; } return make; } }
However, the variable carmake does not seem to be recognized, as I am getting the error:
Error: Unknown property 'Cars.carmake'
If anyone could provide any insight, I would really appreciate it.
Thank you,
Mike
I am not sure if you re getting the parameter from the url string.....if so you can do something like this to get the value of the param(in my case I am getting the account name from the query string.
sfAccount = ApexPages.currentPage().getParameters().get('sfAccount');
If you are trying to get them from a selected item on the page you need getters and setters in your controler class. For instnace if I have a drop down of months, I need a method to provide the values...
public List<SelectOption> getMonths() {
List<SelectOption> months = new List<SelectOption>();
months.add(new SelectOption('NA','--'));
months.add(new SelectOption('January','January'));
months.add(new SelectOption('February','February'));
months.add(new SelectOption('March','March'));
months.add(new SelectOption('April','April'));
months.add(new SelectOption('May','May'));
months.add(new SelectOption('June','June'));
months.add(new SelectOption('July','July'));
months.add(new SelectOption('August','August'));
months.add(new SelectOption('September','September'));
months.add(new SelectOption('October','October'));
months.add(new SelectOption('November','November'));
months.add(new SelectOption('December','December'));
return months;
}
I will also need getters and setters like so.....
public String getSelectedMonth() {
return selectedMonth;
}
Also attaching the visual force markup code to do this.
<apex:selectList value="{!selectedMonth}" size="1" title="Month" >
<apex:selectOptions value="{!months}"/>
Hope this helps,
Dodi
All Answers
I am not sure if you re getting the parameter from the url string.....if so you can do something like this to get the value of the param(in my case I am getting the account name from the query string.
sfAccount = ApexPages.currentPage().getParameters().get('sfAccount');
If you are trying to get them from a selected item on the page you need getters and setters in your controler class. For instnace if I have a drop down of months, I need a method to provide the values...
public List<SelectOption> getMonths() {
List<SelectOption> months = new List<SelectOption>();
months.add(new SelectOption('NA','--'));
months.add(new SelectOption('January','January'));
months.add(new SelectOption('February','February'));
months.add(new SelectOption('March','March'));
months.add(new SelectOption('April','April'));
months.add(new SelectOption('May','May'));
months.add(new SelectOption('June','June'));
months.add(new SelectOption('July','July'));
months.add(new SelectOption('August','August'));
months.add(new SelectOption('September','September'));
months.add(new SelectOption('October','October'));
months.add(new SelectOption('November','November'));
months.add(new SelectOption('December','December'));
return months;
}
I will also need getters and setters like so.....
public String getSelectedMonth() {
return selectedMonth;
}
Also attaching the visual force markup code to do this.
<apex:selectList value="{!selectedMonth}" size="1" title="Month" >
<apex:selectOptions value="{!months}"/>
Hope this helps,
Dodi
Hi Dodi,
Where would I insert the code: sfAccount = ApexPages.currentPage().getParameters().get('sfAccount'). I'm having getting it to work.
Also, I went to try out the sample code you provided regarding the Month dropdown, but I am getting an error:
and I'm not sure what that means.
Thanks,
Mike
Insert it before the line in method or constructor where you will be about to use sfAccount variable.
Thanks Dodi! While I struggled to get the Months List working, I was able to properly pass and receive my parameter based upon sfAccount = ApexPages.currentPage().getParameters().get('sfAccount');
No prob, glad to help