SlideShare uma empresa Scribd logo
1 de 4
AdminUsers Module – Changesin Web-Layerto use Spring MVC
Overview
In this module following functions willbe coveredinREL.
1. Show Users List
2. Add New User
3. Edit Existing User
4. Save Changespost Editing
5. Delete Existing User
Module functions in Sample Application:
The users module inthe sample applicationwill support the followingfunctions exposedbythe listed URLs.
# URL Method Description
1
/admin/users/view/{id}
/admin/users/view
GET
Gets the list of users inthis
REL application
2 /admin/users/new GET
Shows the UI to adda new
user.
3 /admin/users/edit/{id} GET
Show the UI to edit the
info of existing user.
4 /admin/users/delete/{id} POST Deletes the existing user.
5 /admin/users/save POST
Saves the informationof
new andexisting user.
Controller – UserController.java
Create a newfile 'web/ UserController.java'. This class handlesthe "/adminUsers/*" requests.
package com.pearson.rel.webapp.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.pearson.rel.model.User;
@Controller
@RequestMapping(value="/adminUsers")
public classUsersController {
@RequestMapping(value="/view",method= RequestMethod.GET)
public String view(User user) {
return "userList";
}
@RequestMapping(value="/addNew",method= RequestMethod.GET)
public String addNew(Modelmodel,User user) {
return "userForm";
}
@RequestMapping(value="/edit/{userName}",method= RequestMethod.GET)
public String edit(Model model,User user){
model.addAttribute("userForm",new User());
return "userForm";
}
@RequestMapping(value="/delete",method = RequestMethod.POST)
public String delete(Model model,User user){
return "userList";
}
@RequestMapping(value="/save",method= RequestMethod.POST)
public String save(Modelmodel,User user) {
return "userForm";
}
}
Models & Services
(1) Model: Due to simplicityof requests, noadditional model needs to be added.
(2) Service: No changesat the servicesare required.
Subtasks
(1) Validations :
a. To check User withthe same name alreadyexists
b. To validate the “password” and“confirm password” fields match.
c. Validate mandatoryfields.
New functionality - Bulk Import from Spreadsheet
Overview:
Bulk Import from SpreadSheet: New linkwill be providedadjacent to “Addnew User” onview page. Using this link ,user can
import multiple admin users from XLS. After performing the validations, users would be addedto the database.
Steps Involved:
1. After clickingon link “BulkImport from SpreadSheet ” a newpage willget openas follows:
2. On UploadSpreadsheet : Uploaded data from XLS will be shown inJquerydata-gridas shownbelow:
3. After all the validations are validated, onclick of “Save” buttonnew adminusers will be savedin “appUser” table in
Relational database.
4. After saving indatabase, updatedstatus of the user will be shownas follows:
Module Functions:
# URL Method Description
1 /adminUsers/downloadTemplate GET
Downloads a newXLS
template to enter the user
records
2 /adminUsers/uploadSpreadSheet POST
Uploads the XLS file and
show the records inData
Grid on UI.
3 /adminUsers/saveAllUsers POST
Saves allthe validated
users in datatbase.
4 /adminUsers/editSheetUser POST
Edits the selecteduser in
the data grid.
5 /adminUsers/deleteSheetUser POST
Deletes the selecteduser
from the grid
Controller Changes – UserController.java
New functions will be added in UserController to achieve the above functionality is as follows:
@RequestMapping(value="/downloadTemplate",method= RequestMethod.GET)
public String downloadTemplate(Model model,User user) {
return "downloadTemplate";
}
@RequestMapping(value="/uploadSpreadSheet",method= RequestMethod.POST)
public String uploadSpreadSheet(Model model,User user) {
return "jsonView";
}
@RequestMapping(value="/saveAllUsers",method= RequestMethod.POST)
public String saveAllUsers(Model model,User user) {
return "successUsers";
}
@RequestMapping(value="/editSheetUser",method= RequestMethod.POST)
public String editSheetUser(Model model,User user) {
return "jsonView";
}
@RequestMapping(value="/deleteSheetUser",method= RequestMethod.POST)
public String deleteSheetUser(Model model,User user) {
return "jsonView";
}
Models & Services
(1) Model: No additionalmodel needs to be added.
(2) Service: Service that requires modification: service/UserManager.java.
(3) Helper: A new Helper class that needs to be added:web/BulkImportUserHelper”.

Mais conteúdo relacionado

Destaque

Destaque (9)

Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Spring MVC Annotations
Spring MVC AnnotationsSpring MVC Annotations
Spring MVC Annotations
 
Spring MVC
Spring MVCSpring MVC
Spring MVC
 
Rest services caching
Rest services cachingRest services caching
Rest services caching
 
Caching Strategies
Caching StrategiesCaching Strategies
Caching Strategies
 
Caching in HTTP
Caching in HTTPCaching in HTTP
Caching in HTTP
 
Spring Security
Spring SecuritySpring Security
Spring Security
 
Proxy design pattern (Class Ambassador)
Proxy design pattern (Class Ambassador)Proxy design pattern (Class Ambassador)
Proxy design pattern (Class Ambassador)
 
Proxy Design Pattern
Proxy Design PatternProxy Design Pattern
Proxy Design Pattern
 

Semelhante a User module

LearningMVCWithLINQToSQL
LearningMVCWithLINQToSQLLearningMVCWithLINQToSQL
LearningMVCWithLINQToSQLAkhil Mittal
 
359555069 aae-control room-usermanual
359555069 aae-control room-usermanual359555069 aae-control room-usermanual
359555069 aae-control room-usermanualBishnujitBanerjee
 
Cis407 a ilab 6 web application development devry university
Cis407 a ilab 6 web application development devry universityCis407 a ilab 6 web application development devry university
Cis407 a ilab 6 web application development devry universitylhkslkdh89009
 
Task scheduling in laravel 8 tutorial
Task scheduling in laravel 8 tutorialTask scheduling in laravel 8 tutorial
Task scheduling in laravel 8 tutorialKaty Slemon
 
Cis 407 i lab 6 of 7
Cis 407 i lab 6 of 7Cis 407 i lab 6 of 7
Cis 407 i lab 6 of 7helpido9
 
need help completing week 6 ilab.. i will upload what I currently ha.docx
need help completing week 6 ilab.. i will upload what I currently ha.docxneed help completing week 6 ilab.. i will upload what I currently ha.docx
need help completing week 6 ilab.. i will upload what I currently ha.docxniraj57
 
Mvc4 crud operations.-kemuning senja
Mvc4 crud operations.-kemuning senjaMvc4 crud operations.-kemuning senja
Mvc4 crud operations.-kemuning senjaalifha12
 
Student_result_management_system_project.doc
Student_result_management_system_project.docStudent_result_management_system_project.doc
Student_result_management_system_project.docAnshChhabra6
 
M2ModuleDevelopmenteBook
M2ModuleDevelopmenteBookM2ModuleDevelopmenteBook
M2ModuleDevelopmenteBookTrọng Huỳnh
 
ChircuVictor StefircaMadalin rad_aspmvc3_wcf_vs2010
ChircuVictor StefircaMadalin rad_aspmvc3_wcf_vs2010ChircuVictor StefircaMadalin rad_aspmvc3_wcf_vs2010
ChircuVictor StefircaMadalin rad_aspmvc3_wcf_vs2010vchircu
 
Migration of application schema to windows azure
Migration of application schema to windows azureMigration of application schema to windows azure
Migration of application schema to windows azureeSAT Publishing House
 
10 Howto Administer Docpublisher
10 Howto Administer Docpublisher10 Howto Administer Docpublisher
10 Howto Administer DocpublisherSWING Software
 
FABEX DOCUMENTATION
FABEX DOCUMENTATIONFABEX DOCUMENTATION
FABEX DOCUMENTATIONJacob Wunude
 

Semelhante a User module (20)

LearningMVCWithLINQToSQL
LearningMVCWithLINQToSQLLearningMVCWithLINQToSQL
LearningMVCWithLINQToSQL
 
ASP.NET Identity
ASP.NET IdentityASP.NET Identity
ASP.NET Identity
 
359555069 aae-control room-usermanual
359555069 aae-control room-usermanual359555069 aae-control room-usermanual
359555069 aae-control room-usermanual
 
Cis407 a ilab 6 web application development devry university
Cis407 a ilab 6 web application development devry universityCis407 a ilab 6 web application development devry university
Cis407 a ilab 6 web application development devry university
 
Task scheduling in laravel 8 tutorial
Task scheduling in laravel 8 tutorialTask scheduling in laravel 8 tutorial
Task scheduling in laravel 8 tutorial
 
Devise and Rails
Devise and RailsDevise and Rails
Devise and Rails
 
Cis 407 i lab 6 of 7
Cis 407 i lab 6 of 7Cis 407 i lab 6 of 7
Cis 407 i lab 6 of 7
 
need help completing week 6 ilab.. i will upload what I currently ha.docx
need help completing week 6 ilab.. i will upload what I currently ha.docxneed help completing week 6 ilab.. i will upload what I currently ha.docx
need help completing week 6 ilab.. i will upload what I currently ha.docx
 
Alfredo-PUMEX
Alfredo-PUMEXAlfredo-PUMEX
Alfredo-PUMEX
 
Alfredo-PUMEX
Alfredo-PUMEXAlfredo-PUMEX
Alfredo-PUMEX
 
Alfredo-PUMEX
Alfredo-PUMEXAlfredo-PUMEX
Alfredo-PUMEX
 
Alfredo-PUMEX
Alfredo-PUMEXAlfredo-PUMEX
Alfredo-PUMEX
 
Mvc4 crud operations.-kemuning senja
Mvc4 crud operations.-kemuning senjaMvc4 crud operations.-kemuning senja
Mvc4 crud operations.-kemuning senja
 
Student_result_management_system_project.doc
Student_result_management_system_project.docStudent_result_management_system_project.doc
Student_result_management_system_project.doc
 
M2ModuleDevelopmenteBook
M2ModuleDevelopmenteBookM2ModuleDevelopmenteBook
M2ModuleDevelopmenteBook
 
ChircuVictor StefircaMadalin rad_aspmvc3_wcf_vs2010
ChircuVictor StefircaMadalin rad_aspmvc3_wcf_vs2010ChircuVictor StefircaMadalin rad_aspmvc3_wcf_vs2010
ChircuVictor StefircaMadalin rad_aspmvc3_wcf_vs2010
 
Migration of application schema to windows azure
Migration of application schema to windows azureMigration of application schema to windows azure
Migration of application schema to windows azure
 
Phase 2
Phase 2Phase 2
Phase 2
 
10 Howto Administer Docpublisher
10 Howto Administer Docpublisher10 Howto Administer Docpublisher
10 Howto Administer Docpublisher
 
FABEX DOCUMENTATION
FABEX DOCUMENTATIONFABEX DOCUMENTATION
FABEX DOCUMENTATION
 

Último

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 

Último (20)

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 

User module

  • 1. AdminUsers Module – Changesin Web-Layerto use Spring MVC Overview In this module following functions willbe coveredinREL. 1. Show Users List 2. Add New User 3. Edit Existing User 4. Save Changespost Editing 5. Delete Existing User Module functions in Sample Application: The users module inthe sample applicationwill support the followingfunctions exposedbythe listed URLs. # URL Method Description 1 /admin/users/view/{id} /admin/users/view GET Gets the list of users inthis REL application 2 /admin/users/new GET Shows the UI to adda new user. 3 /admin/users/edit/{id} GET Show the UI to edit the info of existing user. 4 /admin/users/delete/{id} POST Deletes the existing user. 5 /admin/users/save POST Saves the informationof new andexisting user. Controller – UserController.java Create a newfile 'web/ UserController.java'. This class handlesthe "/adminUsers/*" requests. package com.pearson.rel.webapp.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import com.pearson.rel.model.User; @Controller @RequestMapping(value="/adminUsers") public classUsersController { @RequestMapping(value="/view",method= RequestMethod.GET) public String view(User user) { return "userList"; } @RequestMapping(value="/addNew",method= RequestMethod.GET) public String addNew(Modelmodel,User user) { return "userForm"; } @RequestMapping(value="/edit/{userName}",method= RequestMethod.GET) public String edit(Model model,User user){ model.addAttribute("userForm",new User()); return "userForm"; }
  • 2. @RequestMapping(value="/delete",method = RequestMethod.POST) public String delete(Model model,User user){ return "userList"; } @RequestMapping(value="/save",method= RequestMethod.POST) public String save(Modelmodel,User user) { return "userForm"; } } Models & Services (1) Model: Due to simplicityof requests, noadditional model needs to be added. (2) Service: No changesat the servicesare required. Subtasks (1) Validations : a. To check User withthe same name alreadyexists b. To validate the “password” and“confirm password” fields match. c. Validate mandatoryfields. New functionality - Bulk Import from Spreadsheet Overview: Bulk Import from SpreadSheet: New linkwill be providedadjacent to “Addnew User” onview page. Using this link ,user can import multiple admin users from XLS. After performing the validations, users would be addedto the database. Steps Involved: 1. After clickingon link “BulkImport from SpreadSheet ” a newpage willget openas follows: 2. On UploadSpreadsheet : Uploaded data from XLS will be shown inJquerydata-gridas shownbelow:
  • 3. 3. After all the validations are validated, onclick of “Save” buttonnew adminusers will be savedin “appUser” table in Relational database. 4. After saving indatabase, updatedstatus of the user will be shownas follows: Module Functions: # URL Method Description 1 /adminUsers/downloadTemplate GET Downloads a newXLS template to enter the user records 2 /adminUsers/uploadSpreadSheet POST Uploads the XLS file and show the records inData Grid on UI. 3 /adminUsers/saveAllUsers POST Saves allthe validated users in datatbase. 4 /adminUsers/editSheetUser POST Edits the selecteduser in the data grid. 5 /adminUsers/deleteSheetUser POST Deletes the selecteduser from the grid Controller Changes – UserController.java New functions will be added in UserController to achieve the above functionality is as follows: @RequestMapping(value="/downloadTemplate",method= RequestMethod.GET) public String downloadTemplate(Model model,User user) { return "downloadTemplate"; } @RequestMapping(value="/uploadSpreadSheet",method= RequestMethod.POST) public String uploadSpreadSheet(Model model,User user) { return "jsonView"; } @RequestMapping(value="/saveAllUsers",method= RequestMethod.POST) public String saveAllUsers(Model model,User user) {
  • 4. return "successUsers"; } @RequestMapping(value="/editSheetUser",method= RequestMethod.POST) public String editSheetUser(Model model,User user) { return "jsonView"; } @RequestMapping(value="/deleteSheetUser",method= RequestMethod.POST) public String deleteSheetUser(Model model,User user) { return "jsonView"; } Models & Services (1) Model: No additionalmodel needs to be added. (2) Service: Service that requires modification: service/UserManager.java. (3) Helper: A new Helper class that needs to be added:web/BulkImportUserHelper”.