单选按钮,无论是真是假

时间:2012-11-26 08:01:16

标签: grails controller radio-button gsp

我刚刚遇到了如何使用单选按钮的问题。这是我的代码: 在GSP中

 <g:each in="${Query1}">
 <label for="account_expired">Account Expired:</label><br />
          <input type="radio" name="acc_expired" value="${it.acc_exp}" checked="checked"> True
              <input type="radio" name="acc_expired" value="${it.acc_exp}"> False
<br />
</g:each>

在我的控制器中:

if(params.username != null )
    {
    String updateQuery = "UPDATE sec_user SET account_locked='"+params.account_locked+"'  WHERE Username='"+params.username+"'"


    String queryname = "select * from sec_user where username = '"+params.username+"'"
    def Query1 = sql.rows(queryname)

    def update = sql.executeUpdate(updateQuery)

    [update:update, Query1:Query1]

    }

所以,我正在尝试做的是单选按钮如何检查哪些值转到哪个'已检查'单选按钮。因为我正在编辑页面,所以控制器将从数据库中检索信息并自动选择单选按钮,无论是“真”还是“假”。在这种情况下,它是'1'或'0'。那么有没有人可以帮我这个?

非常感谢你们。

2 个答案:

答案 0 :(得分:5)

要让您的视图正确检查所需的收音机,您需要在标签中添加表达式。另外我怀疑你不希望每个按钮具有相同的值。我猜测一个应该是真的而另一个是假的。

<input type="radio" name="acc_expired" value="${true}" ${it.acc_exp == true ? 'checked="checked"' : ''}> True
<input type="radio" name="acc_expired" value="${false}" ${it.acc_exp == false ? 'checked="checked"' : ''}> False

PS。您可能想要查找SQL注入。

答案 1 :(得分:0)

你能否具体解释一下,但这可能会对你有所帮助http://grails.org/doc/latest/ref/Tags/radioGroup.html

boolean[] acc_expired= [] //in your controller

并迭代此数组以获取其已检查或未选中的索引。