我是grails 1.3.7
的新手,但是有问题。
我想在一个list/array/map/
中存储不同的元素/参数。
要存储的数据如下所示:id : answera, answerb, answerc, answerd, answere, answerf, answerg, answerh
id
是number
answers
是booleans
所以我有很多ids
(好吧,大概20个),每个答案都有8个 bool(boolean) 值。
如何最好地存储它们,以便可以再次轻松访问它们?
谢谢 :-)
[EDIT]非常感谢您的回答,我现在将尝试一下! :-)
我现在有一个包含id(int)和一个代表我的答案的对象的 map (它是一个pojo,其中包含 bool(boolean) 值answera,answerb等...)
现在,我将此 map 交给gsp。我怎么知道从中取出数据?感谢帮助! :-)
最佳答案
映射将是最好的方法,但是它与grails无关。您是否需要将这些持久化到域类/数据库?
map 会是什么样子...
def map = [:]
map.put(id1, [new Answer(accepted:true), new Answer(accepted:false)];
map.put(id2, [new Answer(accepted:false), new Answer(accepted:false)];
我认为这不会给您提供易于使用的域类。听起来好像您想要grails域类来封装答案。就像是...
class Question{
static hasMany = [answers:Answer]
Integer id
Boolean answered
def hasBeenAnswered(){
answers.each(){ answer->
if (answer.accepted){
answered = true;
return true;
}
}
return false;
}
def acceptAnwser(Answer answer){
answer.accepted = true;
this.answered = true;
}
}
class Answer{
static belongsTo = [question:Question]
Integer id
Boolean accepted
String text
}
然后您的代码将更易于使用...
def allQuestion = Question.list();
def allUnansweredQuestions = Question.findAllByAnswered(false);
def allAnsweredQuestions = Question.findAllByAnswered(true);
关于arrays - 将元素保存在Map/Array/Collection中……Grails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6466639/