grails - 如何使用 grails 中的操作按钮传递参数

标签 grails button submit action params

一直在用有 Action 的按钮来解决问题。我有几个 btns,我想知道它的参数。在 grails 教程中它说它应该是这样的:

 <g:actionSubmit    action="action" value="${message(code: 'default.button.edit.label', default: 'Edit')}" params="['actionTaken':editPhone]"/>

我尝试使用 remotelink、submitButton、submitToRemote 标签,但没有一个有效。当我尝试在 Controller 中解析它时,我总是得到 null:
def action=
    {
        def actionTaken = params.actionTaken
        def employeeId= params.employeeId

        MySession session = MySession.getMySession(request, params.employeeId)
        profileInstance = session.profileInstance

        switch(actionTaken)
        {
            case "editPhone" :
                isEditPhone=true
                break

            case "editEmail" :
                isEditEmail=true
                break
        }
        render(view:"profile", model:[profileInstance:session.profileInstance, isEditPhone:isEditPhone, isEditEmail:isEditEmail])
    }

我错过了什么?我的参数代码错了吗?我解析参数的代码错了吗?这只是让我陷入没有进展的圈子。帮助。谢谢。

最佳答案

Grails documentation未列出 params作为 actionSubmit 接受的属性之一.

通过利用该标签的实际作用,可以在 Controller 的参数列表中注入(inject)您想要的值:

def editPhone = { forward(action:'action', params:[actionTaken: 'editPhone'])}
def editEmail = { forward(action:'action', params:[actionTaken: 'editEmail'])}

您可能还只想将完全独立的逻辑编码到 editPhone 中。和 editEmail如果这使您的代码更清洁,请采取行动。

更新的查看代码:
<g:actionSubmit action="editPhone" value="${message(code: 'default.button.edit.label', default: 'Edit')}" />

关于grails - 如何使用 grails 中的操作按钮传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11577468/

相关文章:

grails - Grails文件上传未使用正确的内容类型

grails - Groovy/Grails 如何使构造函数私有(private) - 正确的方法

编解码器内的Grails createLink?

javascript - React 行为触发渲染上的所有按钮

javascript - 如何在提交时调用 javascript 函数来为输入赋值? (ACE编辑)

php - 如何将 CSS 应用于提交按钮

Grails:用 logback 替换 log4j

wordpress - 引导移动菜单按钮在手机上离开屏幕

objective-c - UIAlertView 按钮显示 viewController

ios - Xcode 5 应用程序提交问题