【发布时间】:2011-12-21 04:48:11
【问题描述】:
为什么 Grails 认为没有 http:// 的 URL(如 www.google.com)是无效的? 只有http://google.com 和http://www.google.com 可以。 有什么办法可以解决吗?
【问题讨论】:
为什么 Grails 认为没有 http:// 的 URL(如 www.google.com)是无效的? 只有http://google.com 和http://www.google.com 可以。 有什么办法可以解决吗?
【问题讨论】:
如果您阅读RFC 1738 (Uniform Resource Locators),很明显 URL 方案(在您的情况下为 http://)是 URL 的完整部分。该方案定义了 URL 其余部分的含义,因此不能省略。例如http://www.google.com 与https://www.google.com 绝对不是同一个资源,保存链接时应该注意这一点。
所以像www.google.com 这样的URL 无效,Grails 拒绝它们时是正确的。
如果您知道您需要一个 http URL,那么解决这个问题应该很容易:
new Object(url: 'http://' + url).save()
应该可以解决问题。
【讨论】: