2012-11-26 28 views
0

我刚刚遇到了关于如何使用单选按钮的问题。所以这是我的代码: 在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'。那么有没有人可以帮助我呢?

非常感谢你们。

回答

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注入。

+0

值$ {true}中的变量。我需要将它放在控制器中吗? – user1681961

+0

true不是一个变量,它是布尔值为true的Java关键字,可在任何表达式中使用。 – doelleri

+0

哦,它已经工作了,非常感谢你!无论如何,你为什么要我查看SQL注入? – user1681961

0

将您具体解释一下,但是这可能会帮助你http://grails.org/doc/latest/ref/Tags/radioGroup.html

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

和迭代这个数组得到他们选中或取消选中指数。

+0

好吧,例如单选按钮是真或假。所以,现在在控制器中,我必须从数据库中选择查询并将其传送到单选按钮。如果我们假设查询结果是'1'。单选按钮true将被'检查'。但单选按钮或控制器如何确定检查哪个单选按钮?你明白我想说什么吗? – user1681961

+0

只是把这个布尔类型的数组。记住这个数组的名字必须是你单选按钮的名字。 //像这样boolean [] acc_expired = [] –

+0

你有一个例子吗?因为我对它的工作原理感到困惑。好的,等等,我向你展示我的完整代码,了解更新和选择如何工作。 – user1681961