想象一下,我有这样的事情:
def example = {
def temp = ConferenceUser.findAllByUser(User.get(session.user))
[temp: temp]
}
Run Code Online (Sandbox Code Playgroud)
解释我的问题:虽然动态查找器非常易于使用和快速学习,但我必须替换我的网站的动态查找器以进行SQL查询,因为这是一项要求.由于我不太了解SQL,我的主要问题是:
a)我正在使用一个SQLS数据库,配置好驱动程序和数据源,我的网站就像现在一样工作.如果我想为sql语句替换"findAllByUser",我应该这样做:
def dataSource
...
def db = new Sql(dataSource)
def temp = db.rows("SELECT ... ")
Run Code Online (Sandbox Code Playgroud)
b)这会有效吗?我的意思是,如果我使用"findAllByUser",临时对象将是一个列表,我是否需要打开与数据库的连接=?
这是一个简单的问题.是否有任何可能性,如果在任何情况下应用程序中出现错误并且服务器向我们显示错误页面,而是将所有内容重定向到默认页面?
涵盖所有错误..这可能吗?
我的控制器如下:
def participated = {
def temp = ConferenceUser.get(params.temp)
def prizes = Prizes.findAllByConferenceUser(temp) // find all rooms where current computer is
def subms = Submissions.findAllByConferenceUser(temp) // find all rooms where current computer is
[temp: temp, priz: prizes, subm: subms]
}
Run Code Online (Sandbox Code Playgroud)
但不知何故,当我成功更新会议价值时,我想回到初始页面(参与),但我不知道如何传回params.temp.(如果我做一个简单的重定向,正如控制器所期望的那样params.temp,它会给我一个错误,因为我无法使用null对象作为参数搜索奖品.所以,想象一下我的更新控制器如下:
def update = {
def saveParamshere = params.temp
...
...
(code here)
...
...
redirect(action: "participated", params: [temp: saveParamshere])
}
Run Code Online (Sandbox Code Playgroud)
此代码无效.如何成功返回主页并传入params.temp?
我成功地使用Hibernate的动态查找器在数据库中搜索:
def temp = User.findByNameAndStreet("name", "street")
Run Code Online (Sandbox Code Playgroud)
虽然,我需要一个像这样的三个逻辑论证:
def temp = User.findByNameAndStreetAndCity("name", "street", "city")
Run Code Online (Sandbox Code Playgroud)
有什么简单的方法吗?
嘿.有没有像这样的特殊标签:
<g:link controller="xx" action="yy_" id="${it.id}">
</g:link>
Run Code Online (Sandbox Code Playgroud)
那不需要表单,而不是textLink是一个按钮?
我正在为学校工作开发Grails应用程序.通常,这是在本地计算机上运行的任何服务器的URL:
http://localhost:8080/ProjectName
Run Code Online (Sandbox Code Playgroud)
在我用我的Grails项目运行tomcat服务器后,我去了那个位置,我可以访问该网站.但是,据我所知,我的局域网中的每个人都应该能够从相同的URL(http://localhost:8080/ProjectName)加载网站.由于我通过路由器在同一个局域网上有两台计算机,我试图访问我的网站,它似乎没有工作.如何从另一台计算机访问该应用程序?如果可能的话,建议一个我可以阅读的网站,并了解有关此事的内容,因为我对服务器缺乏了解是如此引人注目.
想象一下这个控制器:
class exampleController{
def action1 = {}
def action2 = {}
def action3 = {}
def action4 = {}
def action5 = {}
}
Run Code Online (Sandbox Code Playgroud)
我希望能够在此控制器的所有动作中返回相同的参数.想象一下:
def user = session.user
[user: user]
Run Code Online (Sandbox Code Playgroud)
除了在所有动作上编写所有相同的代码之外,有没有办法做到这一点?session.user return params就是一个例子.我不想真的回归它.
嘿.我想像这样做一些事情:
注册接受...回到5 .. 4 ..3 .. 2 .. 1 ..
倒计时后,再次重定向到其他页面.在控制器中有没有可能的方法呢?
我的控制器里有这样的东西:
class houseController = {
...
code
...
if(params.answer == null)
redirect(action:'xxx')
...
code
...
}
Run Code Online (Sandbox Code Playgroud)
我的疑问是,控制器中间的重定向.由于不在控制器的末端,它是否需要任何"返回"或类似的东西?或者,重定向完成后,之后的所有代码都被忘记了,而不是保存在内存中?我的观点,我不想用糟糕的代码浪费无用的资源.