我正在创建一些简单的常规类,例如
class Person {
int age
String name
}
Run Code Online (Sandbox Code Playgroud)
Java 方法中使用的这些方法依赖于反射来提取对象属性,例如年龄和姓名。问题是 metaClass 也显示为属性。更新 Java 方法以忽略此属性不是一种选择。我尝试将 metaClass 属性设置为 null,但这不起作用。
来自Grails网站:http://www.grails.org/doc/1.0.x/guide/5.%20Object%20Relational%20Mapping%20( GORM).html
class Airport {
String name
static hasMany = [flights:Flight]
}
class Flight {
String number
static belongsTo = [airport:Airport]
}
Run Code Online (Sandbox Code Playgroud)
然后调用delete()机场实例将删除任何关联的Flight对象(因为它们属于机场).如果我要删除机场,executeUpdate我还能期望它删除机票吗?
谢谢
当 Grails 从域对象创建表时,是否可以指定列顺序?我希望它保留域中指定的列顺序。相反,它似乎主要是按字母顺序排列的。我在文档中找不到任何内容。我发现这篇文章详细说明了指定约束,但这似乎并没有解决数据库列的问题。
例子:
class Foo {
Long id
String zee
Integer baz
Integer bar
}
Run Code Online (Sandbox Code Playgroud)
我希望然后将数据库列排序为:
id | zee | baz | bar
Run Code Online (Sandbox Code Playgroud)
相反,我更接近于:
id | bar | baz | zee
Run Code Online (Sandbox Code Playgroud) 似乎在Grails 2.x中,如果你有一个域类关联,并且你尝试or在该关系+另一个查询上运行createCriteria ,or它将忽略另一个查询并只使用嵌套关联的结果.我意识到这可能有点令人困惑,所以这里有一个例子:
class Passenger {
Long id
Boolean isDriving
}
class Car {
Long id
Passenger passenger
Boolean isMoving
static constraints = {
passenger nullable: true
}
}
Run Code Online (Sandbox Code Playgroud)
和测试:
class CarIntegrationTests {
@Test
void testCar() {
Passenger passenger1 = new Passenger(isDriving: true)
passenger1.save()
Car car1 = new Car(passenger: passenger1, isMoving: false)
Car car2 = new Car(isMoving: true)
car1.save()
car2.save()
def queryResults = Car.createCriteria().list() {
or {
eq('isMoving', true)// This by itself works
passenger {// And …Run Code Online (Sandbox Code Playgroud) 我希望能够在自动对焦上进行输入,但是当我这样说时:
<input type="text" autofocus="focus">
Run Code Online (Sandbox Code Playgroud)
它不起作用?
为什么是这样?
我有一个全新的Mac OS 10.7.2安装.我已经安装了SVN,但是,当我尝试调用Subversion时,我收到错误:
dyld: Library not loaded: /usr/lib/libpq.5.dylib
Referenced from: /opt/subversion/bin/svn
Reason: no suitable image found. Did find:
/usr/lib/libpq.5.dylib: no matching architecture in universal wrapper
/usr/lib/libpq.5.dylib: no matching architecture in universal wrapper
Run Code Online (Sandbox Code Playgroud)
我试图搜索错误,看起来该库主要由PostreSQL(我也已安装)使用,但运行正常.我有点困惑为什么SVN会试图调用这个库,还有为什么它失败了.
各种用户组在线声明解决方案是创建一个指向"真正的"PostgreSQL安装的符号链接,但我已经做到了.(另请参阅:subclipse)我已经重新安装了SVN和PostgreSQL两次,没有任何错误.任何帮助,将不胜感激.
在论坛中有几个问题,但我无法得到我需要的好答案.
我正在进入Canvas和Javascript,我想在游戏打开后立即预加载一些图像.我做了一个我想要构建的方法的例子(并没有工作)
我有3个文件:"main.html",其中画布(在这个例子中只有一个)被声明,我尝试加载图像,"ImagePreloader.js"我预加载所有图像和"Variables.js"在哪里我有我的变数.
任何人都可以请这个图像预加载metod,或建议我一个可行的?我认为图像没有加载,因为我没有使用onLoad()函数,我在目前为止阅读的教程中无法理解(我知道如何将其应用于图像,但不是图像数组)
main.html中:
<!DOCTYPE HTML>
<html>
<body>
<canvas id="myCanvas" width="800" height="600"></canvas>
<script type="text/javascript" src="Variables.js"></script>
<script type="text/javascript" src="ImagePreloader.js"></script>
<script>
// Basic canvas info
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
// Draw one of the images. Somehow it doesn't work :(
context.drawImage(imageArray[3], x, y, width, height);
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
ImagePreloader.js
// This should preload the images in imageArray[i] with 0 <= i <= 5 ... right?
function preloader()
{
for(var i=0; i<5; i++)
{
imageArray[i].src=images[i];
}
}
Run Code Online (Sandbox Code Playgroud)
Variables.js …
我正在使用Groovy MarkupBuilder将Map转换为XML .此地图可以包含简单的键/值对,其他地图或地图列表.我正在从这里的代码中捎带.
import groovy.xml.MarkupBuilder
def map = [
key1:'value1',
key2:'value2',
nestedMap : [
key1:'bar1',
key2:'bar2'
],
select : [
[option:'foo1'],
[option:'foo2']
]
]
Closure renderMap( Map map ){
return {
for ( entry in map ){
switch( entry.value.getClass() ){
case Map :
"${entry.key}" renderMap( entry.value )
break
case List:
entry.value.collect { listEntry ->
"${entry.key}" renderMap( listEntry )
}
break
default :
"${entry.key}"( "${entry.value}" )
break
}
}
}
}
StringWriter writer = new StringWriter()
new MarkupBuilder(writer).root …Run Code Online (Sandbox Code Playgroud) 我正在使用以下 JavaScript 函数:
<!-- Notifying message at the beginning of openning the website -->
<script language="javascript" type="text/javascript">
alert('Sorry!');
</script>
<!--End -->
Run Code Online (Sandbox Code Playgroud)
我想在警报消息中的“(抱歉!)”之后添加 URL,但我不知道如何将 URL 附加到 javascript 内的消息本身。
class Food{}
class Meat extends Food{}
class Animal{
void feed(Food f){}
}
class Lion extends Animal{
void feed(Meat m){}
}
void foo(Animal a){
Food f = new Food();
a.feed(f);
}
Run Code Online (Sandbox Code Playgroud)
如果我们发送到foo(new Lion())会怎么样?我知道它会出错,但我需要解释
grails ×3
grails-orm ×3
groovy ×3
javascript ×2
belongs-to ×1
covariance ×1
css ×1
dylib ×1
grails-2.0 ×1
html ×1
image ×1
inheritance ×1
input ×1
java ×1
macos ×1
map ×1
metaclass ×1
oop ×1
postgresql ×1
preload ×1
reflection ×1
svn ×1
xml ×1