简单的问题:我有一个服务类(比方说helpersService)和一个方法def constructURI(params).如何从模板视图中调用此方法.
我尝试了以下代码但没有成功
<% def helpersService = new HelpersService() // or def helpersService
%>
<img src="${helpersService. constructURI(params)}"/>
Run Code Online (Sandbox Code Playgroud)
但我得到以下结果:
No signature of method: com.HelpersService. constructURI() is applicable for argument types...
Run Code Online (Sandbox Code Playgroud)
或(如果我使用def helpersService)
Cannot invoke method constructURI() on null object
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我正在构建一个多语言grails网站,我需要获得一些数字的序数后缀,如英语,法语,西班牙语,德语和意大利语.
我认为这个问题对于多语言网站所有者来说非常普遍.我发现这篇文章提供了一个解决方案,但它只是英文版.
例如:
/**
*@value number
*@locale Current locale
*@returns ordinal suffix for the given number
**/
public static String getOrdinalFor(int value, Locale locale)
Run Code Online (Sandbox Code Playgroud)
将给出以下结果:
assert getOrdinalFor(1, Locale.ENGLISH) == "st"
assert getOrdinalFor(1, Locale.FRENCH) == "er"
assert getOrdinalFor(2, Locale.ENGLISH) == "nd"
assert getOrdinalFor(3, Locale.ENGLISH) == "rd"
assert getOrdinalFor(4, Locale.ENGLISH) == "th"
assert getOrdinalFor(4, Locale.FRENCH) == "ème"
Run Code Online (Sandbox Code Playgroud)
你知道一个可以帮助这个的库(Java或Groovy)吗?或者您知道实现它的算法吗?
以下代码应允许隐藏/显示CKEditor表单
<a onClick="$('#form1').hide();">Hide</a>
<a onClick="$('#form1').show();">Show</a>
<form action="sample_posteddata.php" method="post" id="form1">
<textarea id="editor1" name="editor1">blabla</textarea>
<script type="text/javascript"> CKEDITOR.replace( 'editor1' ); </script>
<input type="submit" value="Submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
但是,这个代码在Chrome上工作正常但在Firefox上,一旦我切换了一次编辑器(一个'隐藏'点击后跟一个'显示'点击),它变得不可编辑!
如何让它在每个浏览器上运行?
谢谢.
在我的grails应用程序中,我已经实现了接口HttpSessionListener来监听会话创建,如下所示:
class MyHttpSessionListener implements HttpSessionListener {
public void sessionCreated(HttpSessionEvent event) {
log.info "***************** Session created: id= ${event.getSession()?.id}"
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我想记录负责会话创建的IP地址.
我怎样才能做到这一点?
我有一个URL映射如下:
static mappings = {
name register: "/register" {
controller = "account"
action = "createuser"
}
}
Run Code Online (Sandbox Code Playgroud)
我想从控制器重定向使用这种映射,例如:
redirect mapping:'register'
Run Code Online (Sandbox Code Playgroud)
不幸的是,与createLink标签lib 不同,似乎重定向不接受mapping作为输入参数.
所以我的问题是:如何使用我的命名URL映射进行重定向?
不确定标题是否真的描述了我想要做的事情.实际上,这在互联网上非常简单和广泛使用:
我想要在背景中一些液体/全宽条纹(与设计的某些div的高度相同),而我的内容是使用蓝图固定网格.
例如,这个网站:intient.com正在做我正在寻找的东西.黑色背景条纹(另一个灰色)是液体宽度,内容使用网格(但在查看CSS后不是蓝图)
我正在使用Blueprint固定宽度网格(950px)来显示任何内容.你知道我怎么做吗?蓝图?没有静态背景图像......
谢谢
我需要为我的Grails网站实现类似于StackOverflow网站顶部出现的橙色和可关闭对话框,只要SO检测到它是您的第一次访问.(对于演示,只需在私人/隐身模式下启动浏览器,然后访问 www.stackoverflow.com)
我主要对前端组件感兴趣.
你知道我在哪里可以找到一个JavaScript/CSS/HTML库和/或代码来完成这项工作吗?或者你可能直接拥有代码源?
为了发送适当的响应,我需要检测经典HTTP GET请求,AJAX请求或g:include标记lib 是否已请求控制器操作.
例如,考虑以下代码段:
class CommunityController {
def show = {
def users = getUsers()
if (/* WHAT IS THE CODE HERE??? */) //g:include request => render 'show' template only
render template:'show', model=[users]
else if (request.xhr) //Ajax => we send JSON content
render users as JSON
else //Classic request => we render 'show' GSP page
[users]
}
}
Run Code Online (Sandbox Code Playgroud)
...如何通过ag:include标签lib检测到该动作已被调用?
谢谢.
我的问题很简单,但我找不到任何GORM语法.
考虑以下课程:
class Article {
String text
static hasMany = [tags: String]
static constraints= {
tags(unique: true) //NOT WORKING
}
}
Run Code Online (Sandbox Code Playgroud)
我希望在我的约束中定义的每篇文章都有一个唯一的标记名称,但我不能使用上面的语法.显然,我需要在DB模式中使用以下内容:
create table article_tags (article_id bigint, tags_string varchar(255), unique (article_id , tags_string))
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
PS:我也坚持设置标签最小和最大尺寸的约束
grails ×6
java ×3
css ×2
gsp ×2
javascript ×2
ajax ×1
ckeditor ×1
firefox ×1
grails-orm ×1
groovy ×1
hibernate ×1
html ×1
httpsession ×1
jpa ×1
jquery ×1
localization ×1
modal-dialog ×1
service ×1
servlets ×1
url-mapping ×1
view ×1