假设我已经使用GORM定义了一个User对象.每个用户可以拥有零个或多个Login:s.每个登录都有一个时间戳.检索user.logins时,我希望根据login.date的值对登录进行排序.什么是正确的Grails方法来实现这一目标?
示例:我希望以下代码按升序列出所有用户的登录名.
<g:each var="login" in="${user.logins}">
<tr>
<td>${login.date}</td>
</tr>
</g:each>
Run Code Online (Sandbox Code Playgroud)
这些是引用的类:
class User {
...
def hasMany = [logins: Login]
static fetchMode = [logins: "eager"]
}
class Login {
Date date
...
def belongsTo = [User]
}
Run Code Online (Sandbox Code Playgroud)
我正在运行Grails 1.0.4,这是最新的稳定版本.
我是grails(1.3.7)的新手,我试图让某些东西起作用:
在我的控制器中,我回放了一些我希望在gsp中访问的列表.访问作品,但我只想访问它们,如果它们不是空的.检查列表是否为空不起作用.
这是我的控制器回馈的内容:
return new ModelAndView("/questions/questions", [ questionsList101 : allQuestions101, questionsList102 : allQuestions102, ... ])
allQuestions-objects是包含Questions-Objects(Database-Object)的"def allQuestions .."
在我的gsp上,我尝试以下方法:
<g:if test="${!empty questionsList101}"> 101:<br/>
<g:each in="${questionsList101}" var="elem" status="i">
<g:checkBox name="${questionsList101[i].id}" value="${questionsList101[i].id}"/>${questionsList101[i].id}<br/>
</g:each>
<br/>
</g:if>
Run Code Online (Sandbox Code Playgroud)
循环正在工作,空虚的检查不是.我尝试了"不空","!空",......不知道什么是错的!任何帮助是apreciated!:-)
我只想和groovy玩一点
我正在考虑开发自己的小型Web框架,非常简单和易于管理......
所以我想使用GSP页面,而不必安装整个grails的东西,包括所有依赖项和幕后框架......
任何人都可以提供有关下载内容,安装位置,如何配置tomcat等的详细说明...
到目前为止我发现的一些信息
这非常接近我正在寻找的东西,但仍然不知道下载什么,在哪里保存,等等......
看看这里说的是什么......
GSP不作为独立模块进行维护.但它已经在Grails中分叉并重新整合.
?
在GSP中,是否可以创建与另一个GSP的直接链接?我知道我可以用:
<g:createLink controller="user" action="foo"/>
Run Code Online (Sandbox Code Playgroud)
并在UserController中定义foo动作以显示相应的GSP
class UserController {
def foo = {}
}
Run Code Online (Sandbox Code Playgroud)
但是,有什么办法可以在不创建空foo
动作的情况下实现相同的结果吗?
谢谢,唐
我有一个模板存在于views/dashboard/_myTemplate.gsp下,从DashboardController我可以简单地调用
render template:'myTemplate'
Run Code Online (Sandbox Code Playgroud)
一切都很好.我需要从不同的控制器渲染此模板,但渲染方法不允许您指定控制器,我似乎无法弄清楚如何定义模板存在的路径以使渲染正常工作.这甚至可能吗?
我正在修改/grails-app/views/index.gsp.
当我保存文件并在Firefox中刷新http:// localhost:8080/index.gsp时,我得到的是该文件的旧版本.
有没有办法阻止Grails缓存和渲染旧版本的文件?
(我尝试重启服务器并清除Firefox的缓存.)
谢谢!
我在这5行中有5个文本字段.
<div class="dt_distance_slab">
<g:textField class ="number distanceSlab1" name="distanceSlabCost1" id = "distanceSlabCost1" value=""/>
</div>
<div class="dt_distance_slab">
<g:textField class ="number distanceSlab2" name="distanceSlabCost2" id = "distanceSlabCost2" value=""/>
</div>
<div class="dt_distance_slab">
<g:textField class ="number distanceSlab3" name="distanceSlabCost3" id = "distanceSlabCost3" value=""/>
</div>
<div class="dt_distance_slab">
<g:textField class ="number distanceSlab4" name="distanceSlabCost4" id = "distanceSlabCost4" value=""/>
</div>
<div class="dt_distance_slab">
<g:textField class ="number distanceSlab5" name="distanceSlabCost5" id = "distanceSlabCost5" value=""/>
</div>
Run Code Online (Sandbox Code Playgroud)
这里所有字段都是可选的..我想要验证,如果用户想要输入值..他不能跳过中间的一行...如果他想输入文本字段的值,前一个文本字段必须有值. .
将在提交表格时进行验证
例:
batchTag是batchRange的枚举类型属性,其值如下:
JAN1 "January Biweekly 1",
JAN2 "January Biweekly 2",
Run Code Online (Sandbox Code Playgroud)
等等
我想在select,IOW中显示batchTag的VALUE,select应该包含
"January Biweekly 1"
"January Biweekly 2" ...
Run Code Online (Sandbox Code Playgroud)
不
JAN1
JAN2
FEB1
FEB2
FEB3 ...
Run Code Online (Sandbox Code Playgroud)
我在g中尝试了几个方面:选择这样做,但没有任何成功.我想也许"它"可以作为g:select(因为它显然是一个迭代)的一部分可用,并尝试引用option.VatchTag.name作为optionValue,但这不起作用.有什么建议?
谢谢!
我有GSP文件,其中我将从控制器获取一个值,例如${paramsValue?.ruleCount}
是3并且基于我必须创建表行.
有没有办法在gsp中做到这一点
gsp ×10
grails ×9
groovy ×3
enums ×1
grails-orm ×1
installation ×1
jquery ×1
model ×1
scaffolding ×1
select ×1