How to pass a name to form action in thymeleaf?
13,080
For your controller method
@RequestMapping(value = "/editpermission/{roleName}/{roleId}", method = RequestMethod.GET)
public String AddRolePermissionPage(@PathVariable Integer roleId, @PathVariable String roleName,ModelMap modelMap){
//method body
}
the form action should like this :
<form th:action="@{/roles/editpermission/__${roleDTO.roleName}__/__${roleDTO.roleId}__}" method="get" id="validation-form" style="float:left;">
Refer Thymeleaf Preprocessing
Author by
Md Aslam
Updated on June 09, 2022Comments
-
Md Aslam almost 2 years
My controller is following
@RequestMapping(value = "/editpermission/{roleName}/{roleId}", method = RequestMethod.GET) public String AddRolePermissionPage(@PathVariable Integer roleId, @PathVariable String roleName, ModelMap modelMap) { List<Systems> systemList=systemServices.findAll(); modelMap.addAttribute("roleId",roleId); modelMap.addAttribute("systemList",systemList); modelMap.addAttribute("roleName",roleName); return "security/role/role_permissions"; }
And my HTML page is,
<form th:action="@{/roles/update/{id}(id=${roleId})}" method="post" onSubmit="return formValidation();" commandName="roleDTO"> <!-- {id1}(id1=${roleName}) --> <div class="form-group"> <div class="col-xs-12 col-sm-9"> <label class="control-label col-xs-12 col-sm-3 no-padding-right" for="rolename">Name <font color="red">*</font></label> <div class="clearfix"> <input type="text" id="roleName" name="roleName" class="col-xs-12 col-sm-5" th:value="${roleDTO.roleName}"/> </div> </div> </div> <div class="form-group"> <div class="col-xs-12 col-sm-9"> <label class="control-label col-xs-12 col-sm-3 no-padding-right" for="active">Active</label> <div class="clearfix"> <span class="input-icon input-icon-right"> <label style="margin-top: 10px;"></label> <input type="checkbox" class="ace ace-switch ace-switch-2" name="createActive" th:checked="${roleDTO.createActive}"/> <span class="lbl"></span> <i class="icon-leaf green"></i> </span> </div> </div> </div> <div class="form-group"> <div class="col-xs-12 col-sm-9"> <label class="control-label col-xs-12 col-sm-3 no-padding-right" for="active"> <!-- Create User : --> </label> <div class="clearfix"> <input type="hidden" id="createUser" name="createUser" class="col-xs-12 col-sm-5" th:value="${roleDTO.createUser}"/> </div> </div> </div> <div class="form-group"> <div class="col-xs-12 col-sm-9"> <div class="clearfix"> <input type="hidden" id="roleId" name="roleId" class="col-xs-12 col-sm-5" th:value="${roleDTO.roleId}"/> </div> </div> </div> <div class="form-group"> <div class="col-xs-12 col-sm-6"> <div class="wizard-actions"> <button class="btn btn-sm btn-success"> <i class="icon-ok bigger-110"></i> Submit </button> <button class="btn btn-sm btn-grey" type="reset"> <i class="icon-undo bigger-110"></i> Reset </button> </div> </div> </div> </form> <form th:action="@{/roles/editpermission/{id}(id=${roleName})/{id}(id=${roleId})}" method="get" id="validation-form" style="float:left;"> <div class="form-group"> <div class="col-xs-12 col-sm-6"> <div class="wizard-actions"> <button class="btn btn-sm btn-success"> <i class="icon-ok bigger-110"></i> Edit Permission </button> </div> </div> </div> </form>
In which,the roleDTO is an object that contains roleId and RoleName values.SO now i want to pass this roleName to form action when i click the Edit Permission button.We can pass roleId using {id}(id=${roleName}).Similarly i want to pass roleName in thymeleaf.How to pass? Plz anybody help