Well, once you start using a controller or an extension you will get used to these words...
So, it is good that we understand what these methods really do..
Getter and setter methods are used to pass data from your visualforce page to your controller and vice versa..
Let's take a very simple scenario... Let's assume you want to display a textbox in your visualforce page.. When the user enters some value in this textbox and clicks on a button you want the value entered by the user in your Apex class (ie. basically your controller or extension)
So go ahead and create a simple visualforce page.. the code for this would be
<apex:page controller="simplegetset">
<apex:form>
<apex:outputlabel value="Enter your name here"/>
<apex:inputtext value="{!userinput}"/>
</apex:form>
</apex:page>
The Apex code for this page would be...
public class simplegetset
{
public String userinput{get; set;}
}
Now, the variable "userinput" in your Apex class will store the value entered by the user....
Let's analyze the methods now...
Get
The "get" method is used to pass data from your Apex code to your Visualforce page.. In our example we are not passing any value.. hence, when your page loads initially the textbox will have a empty value...
So, lets modify our code and pass a default value to the textbox.. Change the Apex code as follows..
public class simplegetset
{
public String userinput;
public String getuserinput(){return 'John';}
public void setuserinput(String userinput)
{
this.userinput = userinput;
}
}
You can now see that your page loads with a value 'John'...
Set
The "set" method is used to pass values from your visualforce page to the controller... In our example the variable "userinput" will be storing the value entered in the textbox..
Now modify your VF page as below..
<apex:page controller="simplegetset">
<apex:form>
<apex:outputlabel value="Enter your name here"/>
<apex:inputtext value="{!userinput}">
<apex:actionsupport event="onclick" rerender="display" />
</apex:inputtext>
<apex:outputpanel id="display">
<apex:outputtext value="The name entered is {!userinput}"/>
</apex:outputpanel>
</apex:form>
</apex:page>
The Apex code would be...
public class simplegetset
{
public String userinput{get; set;}
}
In this example what happens is.. the variable "userinput" stores the value entered in visualforce page and passes it to the Apex code.. hence you are able to see the entered value in the visualforce page..
I guess you might understand what i am saying.. to make things simple now use the same visualforce page.. but modify the Apex code as below..
public class simplegetset
{
public String userinput;
public String getuserinput(){return 'John';}
public void setuserinput(String userinput)
{
this.userinput = userinput;
}
}
Now, whatever value you enter the page always displays "The name entered is John".... This is because your get method always returns 'John'... but still your set method will store the value you entered in the variable "userinput"....
So, it is good that we understand what these methods really do..
Getter and setter methods are used to pass data from your visualforce page to your controller and vice versa..
Let's take a very simple scenario... Let's assume you want to display a textbox in your visualforce page.. When the user enters some value in this textbox and clicks on a button you want the value entered by the user in your Apex class (ie. basically your controller or extension)
So go ahead and create a simple visualforce page.. the code for this would be
<apex:page controller="simplegetset">
<apex:form>
<apex:outputlabel value="Enter your name here"/>
<apex:inputtext value="{!userinput}"/>
</apex:form>
</apex:page>
The Apex code for this page would be...
public class simplegetset
{
public String userinput{get; set;}
}
Now, the variable "userinput" in your Apex class will store the value entered by the user....
Let's analyze the methods now...
Get
The "get" method is used to pass data from your Apex code to your Visualforce page.. In our example we are not passing any value.. hence, when your page loads initially the textbox will have a empty value...
So, lets modify our code and pass a default value to the textbox.. Change the Apex code as follows..
public class simplegetset
{
public String userinput;
public String getuserinput(){return 'John';}
public void setuserinput(String userinput)
{
this.userinput = userinput;
}
}
You can now see that your page loads with a value 'John'...
Set
The "set" method is used to pass values from your visualforce page to the controller... In our example the variable "userinput" will be storing the value entered in the textbox..
Now modify your VF page as below..
<apex:page controller="simplegetset">
<apex:form>
<apex:outputlabel value="Enter your name here"/>
<apex:inputtext value="{!userinput}">
<apex:actionsupport event="onclick" rerender="display" />
</apex:inputtext>
<apex:outputpanel id="display">
<apex:outputtext value="The name entered is {!userinput}"/>
</apex:outputpanel>
</apex:form>
</apex:page>
The Apex code would be...
public class simplegetset
{
public String userinput{get; set;}
}
In this example what happens is.. the variable "userinput" stores the value entered in visualforce page and passes it to the Apex code.. hence you are able to see the entered value in the visualforce page..
I guess you might understand what i am saying.. to make things simple now use the same visualforce page.. but modify the Apex code as below..
public class simplegetset
{
public String userinput;
public String getuserinput(){return 'John';}
public void setuserinput(String userinput)
{
this.userinput = userinput;
}
}
Now, whatever value you enter the page always displays "The name entered is John".... This is because your get method always returns 'John'... but still your set method will store the value you entered in the variable "userinput"....
Excellent Blog! I would Thanks for sharing this wonderful content.its very useful to us.I gained many unknown information, the way you have clearly explained is really fantastic.This is incredible,I feel really happy to have seen your webpage.keep posting such useful information.
ReplyDeleteFull Stack Training in Chennai | Certification | Online Training Course
Full Stack Training in Bangalore | Certification | Online Training Course
Full Stack Training in Hyderabad | Certification | Online Training Course
Full Stack Developer Training in Chennai | Mean Stack Developer Training in Chennai
Full Stack Training
Full Stack Online Training
Thanks a lot for sharing such a good source with all, i appreciate your efforts taken for the same. I found this worth sharing and must share this with all.This is a terrific article, and that I would really like additional info if you have got any. I’m fascinated with this subject and your post has been one among the simplest I actually have read.
ReplyDeleteDevOps Training in Chennai
DevOps Online Training in Chennai
DevOps Training in Bangalore
DevOps Training in Hyderabad
DevOps Training in Coimbatore
DevOps Training
DevOps Online Training
If you don't know Java at all, then first of all to learn theoretical concepts you need at least are 25 days. And to implement those concept practically at the immediate level you need at least 30 to 40 days. Basically, it is the around the three month course to learn a Java with some basic concepts of advanced Java.
ReplyDeleteJava training in Bangalore
Java training in Hyderabad
Java Training in Coimbatore
Java training in Bangalore
Java training in Hyderabad
Java Training in Coimbatore
https://www.acte.in/java-training-in-bangalore
https://www.acte.in/java-training-in-hyderabad
https://www.acte.in/java-training-in-coimbatore
https://www.acte.in/java-training
Thanks a lot for sharing such a good source with all, i appreciate your efforts taken for the same. I found this worth sharing and must share this with all.This is a terrific article, and that I would really like additional info if you have got any. I’m fascinated with this subject and your post has been one among the simplest I actually have read.
ReplyDeleteAWS Course in Chennai
AWS Course in Bangalore
AWS Course in Hyderabad
AWS Course in Coimbatore
AWS Course
AWS Certification Course
AWS Certification Training
AWS Online Training
AWS Training
Thanks a lot for sharing such a good source with all, i appreciate your efforts taken for the same. I found this worth sharing and must share this with all.
ReplyDeleteacte reviews
acte velachery reviews
acte tambaram reviews
acte anna nagar reviews
acte porur reviews
acte omr reviews
acte chennai reviews
acte student reviews
This information is impressive..I am inspired with your post writing style & how continuously you describe this topic.
ReplyDeleteCyber Security Training Course in Chennai | Certification | Cyber Security Online Training Course | Ethical Hacking Training Course in Chennai | Certification | Ethical Hacking Online Training Course |
CCNA Training Course in Chennai | Certification | CCNA Online Training Course | RPA Robotic Process Automation Training Course in Chennai | Certification | RPA Training Course Chennai | SEO Training in Chennai | Certification | SEO Online Training Course
keep sharing
ReplyDeletefull stack developer course
full stack developer course in bangalore