Dax*_*xon 1 url grails groovy params parseint
在控制器中
params.max = Math.min(params?.max?.toInteger() ?: 10, 20)
params.offset = params?.offset?.toInteger() ?: 0
Run Code Online (Sandbox Code Playgroud)
如果您输入以下网址
/books?offset=10&max= //error
/books?offset=10&max=sdf //error
/books?offset=&max=10 //works
/books?offset=adsfa&max=10 //error
java.lang.NumberFormatException: For input string: "asdf"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:449)
at java.lang.Integer.valueOf(Integer.java:554)
Run Code Online (Sandbox Code Playgroud)
是否有一行常规答案来检查url参数中的null / string字符?
看看Grails 1.2的发行说明,其中介绍了用于参数和标记属性的null安全转换器。
你应该换行..
params.max = Math.min(params?.max?.toInteger() ?: 10, 20)
params.offset = params?.offset?.toInteger() ?: 0
Run Code Online (Sandbox Code Playgroud)
..到以下代码:
params.max = Math.min(params.int('max') ?: 10, 20)
params.offset = params.int('offset') ?: 0
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2934 次 |
最近记录: |