04. Using HTMl forms - @RequestMapping

15 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$69.99
List Price:  $99.99
You save:  $30
€65.09
List Price:  €93
You save:  €27.90
£56.02
List Price:  £80.04
You save:  £24.01
CA$96.21
List Price:  CA$137.46
You save:  CA$41.24
A$106.50
List Price:  A$152.16
You save:  A$45.65
S$94.88
List Price:  S$135.55
You save:  S$40.67
HK$547.08
List Price:  HK$781.57
You save:  HK$234.49
CHF 63.59
List Price:  CHF 90.85
You save:  CHF 27.25
NOK kr764.52
List Price:  NOK kr1,092.22
You save:  NOK kr327.70
DKK kr485.54
List Price:  DKK kr693.66
You save:  DKK kr208.12
NZ$116.87
List Price:  NZ$166.97
You save:  NZ$50.09
د.إ257.07
List Price:  د.إ367.25
You save:  د.إ110.18
৳7,696.46
List Price:  ৳10,995.41
You save:  ৳3,298.95
₹5,845.02
List Price:  ₹8,350.38
You save:  ₹2,505.36
RM331.92
List Price:  RM474.20
You save:  RM142.27
₦98,297.45
List Price:  ₦140,430.95
You save:  ₦42,133.50
₨19,467.44
List Price:  ₨27,811.82
You save:  ₨8,344.38
฿2,586.11
List Price:  ฿3,694.61
You save:  ฿1,108.49
₺2,257.70
List Price:  ₺3,225.42
You save:  ₺967.72
B$355.19
List Price:  B$507.43
You save:  B$152.24
R1,300.44
List Price:  R1,857.85
You save:  R557.41
Лв127.53
List Price:  Лв182.19
You save:  Лв54.66
₩95,343.18
List Price:  ₩136,210.38
You save:  ₩40,867.20
₪259.39
List Price:  ₪370.57
You save:  ₪111.18
₱4,014.38
List Price:  ₱5,735.07
You save:  ₱1,720.69
¥10,876.02
List Price:  ¥15,537.84
You save:  ¥4,661.82
MX$1,183.66
List Price:  MX$1,691.01
You save:  MX$507.35
QR254.83
List Price:  QR364.06
You save:  QR109.23
P952.42
List Price:  P1,360.66
You save:  P408.23
KSh9,168.69
List Price:  KSh13,098.69
You save:  KSh3,930
E£3,329.50
List Price:  E£4,756.64
You save:  E£1,427.13
ብር3,992.74
List Price:  ብር5,704.16
You save:  ብር1,711.42
Kz58,583.02
List Price:  Kz83,693.62
You save:  Kz25,110.60
CLP$65,554.03
List Price:  CLP$93,652.63
You save:  CLP$28,098.60
CN¥505.70
List Price:  CN¥722.46
You save:  CN¥216.76
RD$4,071.34
List Price:  RD$5,816.45
You save:  RD$1,745.10
DA9,415.49
List Price:  DA13,451.28
You save:  DA4,035.78
FJ$159.21
List Price:  FJ$227.46
You save:  FJ$68.24
Q544.84
List Price:  Q778.38
You save:  Q233.53
GY$14,671.19
List Price:  GY$20,959.74
You save:  GY$6,288.55
ISK kr9,784.60
List Price:  ISK kr13,978.60
You save:  ISK kr4,194
DH703.12
List Price:  DH1,004.51
You save:  DH301.38
L1,240.96
List Price:  L1,772.88
You save:  L531.91
ден4,012.27
List Price:  ден5,732.06
You save:  ден1,719.79
MOP$564.93
List Price:  MOP$807.08
You save:  MOP$242.14
N$1,294.05
List Price:  N$1,848.73
You save:  N$554.67
C$2,581.34
List Price:  C$3,687.79
You save:  C$1,106.44
रु9,369.68
List Price:  रु13,385.83
You save:  रु4,016.15
S/261.57
List Price:  S/373.68
You save:  S/112.11
K271.48
List Price:  K387.85
You save:  K116.36
SAR262.48
List Price:  SAR374.99
You save:  SAR112.51
ZK1,900.47
List Price:  ZK2,715.07
You save:  ZK814.60
L323.94
List Price:  L462.80
You save:  L138.85
Kč1,630.83
List Price:  Kč2,329.86
You save:  Kč699.02
Ft25,346.53
List Price:  Ft36,210.88
You save:  Ft10,864.35
SEK kr763.26
List Price:  SEK kr1,090.42
You save:  SEK kr327.16
ARS$61,644.55
List Price:  ARS$88,067.42
You save:  ARS$26,422.86
Bs483.68
List Price:  Bs691.01
You save:  Bs207.32
COP$273,058.61
List Price:  COP$390,100.45
You save:  COP$117,041.84
₡35,861.91
List Price:  ₡51,233.50
You save:  ₡15,371.58
L1,732.92
List Price:  L2,475.71
You save:  L742.78
₲523,307.77
List Price:  ₲747,614.58
You save:  ₲224,306.80
$U2,685.15
List Price:  $U3,836.09
You save:  $U1,150.94
zł280.89
List Price:  zł401.29
You save:  zł120.40
Already have an account? Log In

Transcript

Let us learn how to use HTML forms in a spring MVC application, we will be learning how to retrieve the form field values in a controller. For this, we need to understand few annotations as read request mapping at the rate request para accurate model attribute. To start with, we will see how to use a cost mapping and request Param. Already we have learned how to use request per request mapping. The method was annotated with at the rate request mapping and it was having a party name. The request mapping annotation is used to map the URL with this method in the controller or with the controller class itself.

I have given few examples over here mapping this path. Our response and HTTP methods are with query parameters. Let's We show you an example of request mapping. Here the class is also annotated with request mapping, the method is also annotated with request mapping available methods, I have given the value and also this HTTP method in basically request mapping is used to map the URLs to the corresponding methods, this is done by dispatcher servlet. Now, let us understand the boat at the rate request Param access Param this used to bind the request parameters to the method parameters. That is, if you are having your form with name, city and salary, all these values are coming in a request, they can be retrieved using request params and are saying to method parameters.

In this case HTTP method should be get when you are using request Param annotation type conversion happens automatically. Whatever form field values you are on. Whatever form field values are there when they are coming in with a request they will be coming in the form of string only. If you are having salary yay our ID you don't have to do the conversion type conversion happens automatically it is taken care by like cost per monitor. Let me now show you an example for a cost Param what an add employee method which is having a direct request Param annotation I am trying to retrieve the form field name name, city and salary and I am assigning it to parameters name a thing to name city a thing to city salary assigned to salary in this case salary is of type integer. We have not done any type conversion it has taken care of a request Kara request Param You must not use primitive types when you're working with request Param white, then a form and there is a form if the user is not entering any value in the form the value will be in So, when it is entering into this controller, the value will be null.

If you are having int instead of integer, in that case you are trying to convert a null object into into primitive type, it will throw a null pointer exception to avoid that you must have only wrapper classes for when you are working with numbers. So, if a given integer whatever is coming in will be in the form of null. A null object can be assigned to a null I mean can be assigned to integer you don't need any conversion when you are adding an object and in unique conversion wherein you are trying to convert knowledge into a in primitive type it will throw a null pointer exception in this case it is not required. So, now I am retrieving the form field values using request Param and assigning it to method parameters. Once it is available, it is assigned to the model object. In this case the model object is employee The values can be then the employee objects are sent to the next page and you can retrieve the employee object ID EMP success dot JSP.

Now what we will do is we will try this out in Eclipse let me first create a spring starter project is the name of spring MVC form packaging should be one click Next select the dependencies with click Finish the application is created Let me open SRC main Java Let me open servlet initializer in the servlet initializer I need to copy the spot extends from extends and this method. I can even delete this class because there is nothing inside this class. I will open the application class and I will paste the code that I have copied. Now this is done next. I need to have a form I can have that Form index dot JSP. But in this application, I don't want to export any JSP pages directly which are sitting inside with that.

So I am going to go all the JSP pages are I'm going to have all the JSP pages inside views folder only how to invoke the JSP page in views folder, it can be done only using a controller. So I'm going to inform the dispatcher servlet for root path that is slash. When the application is getting calls directly, that's the intent or the controller from the controller only the JSP page has to be invoked. In the previous application we invoke the JSP page directly that is index dot JSP. I don't want to do that in this application. Let me explain this.

First I will create a controller SRC main Java new class comm dot example dot controller. We are going to work with an employee application file avitus EMP controllers I need to annotate the classes at the rate controller. Let me add the first method, public string. So homepage return home almost nothing but the JSP page which has to be inside views folder. Now, what is the kotlin that I'm going to have simply at the rate record mapping slash. Next, let me create home dot JSP.

Inside the bat folder, I need to add the banner fun views folder inside web app slash web hyphen I enough slash views. We all should be in lowercase the fight Name a form dot JSP. Click Finish. Now the first page has come, I don't want to add the form here directly, I'm just going to give a link when I click this link again it has to go to the controller and from the controller I want to invoke another JSP page which will be having the form. So, for this let me add a link href equal to show for show mp4 slash GA. This is one thing is left out we need to add the viewer resolver details and application dot properties file.

So let me do that this is done. Now let us see the flow when we run this application. The form to find will be called spring MVC forms application file. This will bootstrap your application. Now that dispatcher servlet will be invoked, it will go in search of the root path slash we don't have any JSP page directly under way back, so it will enter into the controller in the controller I have a method that is annotated with slash. So it is going home dot JSP home dot JSP we have created it inside views folder and we have also added the details of view resolver let me run this application select MVC form right click run as run on server from all the other applications if you are having any because it will take time for the server to deploy all the application it's better to run only one application at the time the application is started now I have got formed a JSP you are not getting uni you are lower here.

The reason is it was simple slash now from home dot JSP. When I click this link, it has to take me to EMP form dot JSP where we will write the code again it has been EMP controller. Let me go to the CMP controller We'll add one more method and copy this it has to be slash ad from show for show EMP form and the JSP page name with the characters EMP form dot JSP need to create EMP form dot JSP inside the webapp webinar views folder inside the JSP page I need to have a form with three form fields. Let me add that the farmers ready I have got action equal to add employees it means I need to have one other method that is annotated with ADD employee to proceed further. The problem is having three form fields name city and salary. It means I need to have a model class with these three form fields as instance variables.

Now, first, let us see check whether we are getting this form. Let me rerun this application. The application is called What I'm seeing is home dot JSP. I'll click this link. Now, I have bought this from when I add the values when I click Add employee again it has to go to EMP controller in search of another method wherein we are going to retrieve the values. So, let me do that I will go to the CMP controller in EMP controller I need to create a method and use at the rate request Param process add employee and the method also inherited add employee you can either add the same method name or you can give a different method name.

Now, within the parameter only we are going to add request Param annotation the form field name which will be assigned to the parameter name. Similarly, the form fields form fields city which will be assigned to the parameter city and for the third one, it is of type integer automatically the conversion will happen So, what are we are going to do we are just going to give it directly an integer all these are fine I need to create the model class right because after retrieving the values we need to assign it to an employee object or a customer object. So I need to create a model class with all the font faces instance variables. So this is done I need to import request Param keep the cursor and import it Yeah, okay. Now let me create the model class for me it is going to be employee here comm dot example right click new class comm dot example dot model IO created the employee class and comm dot example dot model.

Now let me add three instance variables name city and salary, a getter and setter method can generate two strings, they imply classes ready, let me go to the CMP controller again. From here, I need to create the employee object and call the setter methods of the employee class to set the values. The employee class is ready now I'll go back to the same fly controller here I'll create the employee object and call all the setter methods employee equal to new employee employee dot set may have name employee dot set city employee dot set salary, the values are set to the employee object. Now I have to send the employee object to the next page. So what can be the next page I can have it as EMP success dot JSP and I have to have one other parameter model dot add attribute is the dummy name.

Are the model name an employee see object Okay, now I have to create EMP success dot JSP so I'll just create it over here select views right click New JSP page you can just simply have dollar curly brace employee you have overridden the to string method so you're getting it are directly you do employee dot name employee dot city employee dot salary okay so this is that the law did everything perfectly let me run this application. The application has started my home dot JSP page has come let me click this. This is EMP form dot JSP let me enter values name city, Bangalore and 39 Click Add employees now it is going To EMP success dot JSP what you are seeing is EMP success dot JSP the method is get that is why the values are going as query string okay I hope you can understand the flow let me just go to the CMP controller in EMP controller the application starts only with the line number 13 it enters into homepage from hope again it comes to controller it is calling EMP form dot JSP from EMP from that JSP again it is coming to the same controller because you have given add employee as request mapping the values are taken from the form fields and are saved to the parameters method parameters you are taking from the method parameter and assigning it to the model object.

For this you have created a model object which is having instance variables same as that of the form field names. From here you are setting the employee object to the model attributes so that it can be The table in the view page, the final view pages EMP success dot JSP. So this is how you retrieve values from the form fields in a spring MVC application. Thank you

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.