SlideShare a Scribd company logo
1 of 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”.

More Related Content

Viewers also liked

Viewers also liked (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
 

Similar to 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
 

Similar to 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
 

Recently uploaded

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
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 future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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
 
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
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
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
 
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
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Recently uploaded (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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 future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
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
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
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...
 
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...
 
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...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

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”.