Grails 如何从Controller中的服务类访问日期变量
我有下面的模型课Grails 如何从Controller中的服务类访问日期变量,grails,Grails,我有下面的模型课 public class User{ String firstName String lastName Date startDate Date endDate static constraint(){ firstname(nullable:true) lastname(nullable:true) startDate endDate }
public class User{
String firstName
String lastName
Date startDate
Date endDate
static constraint(){
firstname(nullable:true)
lastname(nullable:true)
startDate
endDate
}
}
我的服务班
public class UserService {
public void addUser(String firstName, String lastName, Date startDate, Date endDate){
User user = new User()
user.firstName=firstName
user.lastName=lastName
user.startDate=startDate
user.endDate=endDate
}
}
现在我的问题是如何访问控制器中的日期变量
我的控制器类
public class UserController {
def applyService
def register = applyService.addUser(params.firstName.toString(), params.lastName.toString()
现在我不知道如何访问我的
startDate
和endDate
变量。。。。我无法使用参数访问它们,因为它们不是字符串…任何解决方案。我是grails的新手如果我是你,我会做如下改变
def register = applyService.addUser(params.firstName.toString(),params.lastName.toString()
,parseDate(params['startDate'] ,
parseDate(parmas['endDate']))
假设您使用的是GrailsVersion>2.3,则更改如下
Config.groovy中的设置
grails.databinding.dateFormats = [
'MMddyyyy', 'yyyy-MM-dd HH:mm:ss.S', "yyyy-MM-dd'T'hh:mm:ss'Z'"]
import org.grails.databinding.BindingFormat
public class User{
String firstName
String lastName
@BindingFormat('yyyy-MM-dd HH:mm:ss.S') // or any format you like
Date startDate
@BindingFormat('yyyy-MM-dd HH:mm:ss.S')
Date endDate
static constraint(){
firstname(nullable:true)
lastname(nullable:true)
startDate
endDate
}
}
干杯 您忽略了Grails最强大的功能之一: 我会这样做:
class UserController {
def userService
def save = {
def user = new User(params)
userService.addUser(user)
}
}
当在控制器上用param映射实例化域对象时,Grails将为您找出用户字段的正确类型,并相应地设置它们。在您的服务上,您可以简单地持久化实例
我建议您也去看看。当您呼叫服务方法时。您能发布完整的行动吗?这可能会有帮助:我不再去了。如您所见,我通过使用
params.firstName
和params.lastName
访问了firsName
和lastName
变量,然后我想包括日期变量。我该怎么做?你测试过我的答案了吗,我只是用了一个日期?或者发布您的gps文件?从到
我使用它作为u输入,但它返回以下erorr<代码>没有方法签名:com.registration.admin.ApplyController.parseDate()适用于参数类型:(java.lang.String)值:[10-09-2012]有什么帮助吗?