javascript - 如何在 thymeleaf 中传递名称以形成 Action ?

标签 javascript html forms spring-mvc thymeleaf

我的 Controller 正在关注

@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";
}

我的 HTML 页面是,
<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>
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        </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>
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        </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>
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        </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>
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        </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>
                &nbsp;&nbsp;&nbsp;
                <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>
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        </div>
    </div>
</form>

其中,roleDTO 是一个包含 roleId 和 RoleName 值的对象。所以现在我想在单击“编辑权限”按钮时传递这个 roleName 以形成操作。我们可以使用 {id}(id=${roleName}) 传递 roleId .Similarly我想在thymeleaf中传递roleName。如何传递?请任何人帮助

最佳答案

对于您的 Controller 方法

@RequestMapping(value = "/editpermission/{roleName}/{roleId}", method = RequestMethod.GET)   
public String AddRolePermissionPage(@PathVariable Integer roleId, @PathVariable String roleName,ModelMap modelMap){
    //method body
} 

表单 Action 应该是这样的:
 <form th:action="@{/roles/editpermission/__${roleDTO.roleName}__/__${roleDTO.roleId}__}" method="get" id="validation-form" style="float:left;"> 

引用 Thymeleaf Preprocessing

关于javascript - 如何在 thymeleaf 中传递名称以形成 Action ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25072961/

相关文章:

JavaScript:对于对象中的每个对象?

html - 为什么我不能将图像拉伸(stretch)到页面的全屏?

javascript - 如何使用javascript获取表单的查询

javascript - 如何在 Javascript 中根据 True 或 False 更改复选框状态?

javascript - 如何将 Vue.js 作用域样式应用于通过 View 路由器加载的组件?

javascript - Uncaught ReferenceError : $ is not defined error

HTML5 颜色输入事件在颜色选择器中鼠标弹起时触发

jquery - 通过数组表单验证检查字段

python - 表单初始数据不显示在模板中

javascript - 使用javascript在除一页之外的每一页上显示html