Dav*_*son 5 grails plugins module image
试图学习资源插件
根据我的理解,它有助于定义"资源",如css和javascript文件,并在需要时自动将它们拉入你的gsp.我了解如何创建可以使用标签等加载的模块.
我不理解的部分是:http://grails-plugins.github.com/grails-resources/guide/4.%20Using%20resources.html#4.2%20Linking%20to%20images
所以我在Config.groovy中创建了一个名为"images"的模块,如下所示:
grails.resources.modules = {
images {
resource url:'/images/view.jpg', attrs:[width: 1280, height:720 , alt: 'my view']
resource url:'/images/breakfast.jpg', attrs:[width: 1280, height:720, alt: 'breakfast']
}
}
Run Code Online (Sandbox Code Playgroud)
资源包含在head部分的.gsp页面中,如下所示:
<head>
<r:require modules="jquery-ui, blueprint"/>
</head>
Run Code Online (Sandbox Code Playgroud)
我知道资源已成功添加到head部分,因为当我检查页面源时,我在那里看到它们:
<link href="/ResourceTest/static/Aa7jV0N2qZjOz7TLZ9cl5cREIh2y5jJYV0ytn4nQg9r.jpg" rel="shortcut icon" width="1280" height="720" alt="my view" />
<link href="/ResourceTest/static/IpQBSjrYeLDdSUBGbP3jhf6Kkhvu1zV3XRtwWfKOIMn.jpg" rel="shortcut icon" width="1280" height="720" alt="breakfast" />
Run Code Online (Sandbox Code Playgroud)
我的问题是:如何使用图像资源?我的意思是我知道如果它是javascript,导入资源可以让你访问使用html代码中的函数,但是对于图像,网站上写着"一旦你完成了这个,用它来引用它们会自动设置宽度,高度和其他属性."
怎么样?我尝试过以下方法:
<r:img module="images">
<r:img alt="breakfast">
Run Code Online (Sandbox Code Playgroud)
还有少数人没有成功
工作是什么:
<r:img uri="/images/breakfast.jpg">
Run Code Online (Sandbox Code Playgroud)
但无论你是否使用r:require标签添加模块,这都有效.那么,对于图像使用这个插件是什么意思,我将如何使用它?
该<r:img>标签与我们的 without 一起工作得很好<r:require>;它甚至可以使用未声明的图像资源。
require 标签的目的是防止资源重复。例如,假设您有多个依赖于 jQuery 的 javascript 资源,并且它们都是必需的。添加另一层复杂性:假设您实际上通过 sitemesh 将不同的 gsp 模板组合在一起,并且它们每个都有自己的资源依赖项。如果您只是将普通的 HTML 代码放在每个 gsp 布局的头部来引用这些资源,您可能会在页面标题中获得它们的多个实例,这可能会出现问题。使用资源插件可确保您只获得所需资源的一个实例。
请参阅http://grails-plugins.github.io/grails-resources/ref/Tags/require.html和http://grails-plugins.github.io/grails-resources/ref/Tags/layoutResources.html。
但对于图像来说,这并不是真正必要的。如果您在页面上多次使用图像,可能是因为您想要它,或者因为您正在应用冗余布局并且需要进行一些重构。因此,您是正确的, require 标签对于调用 via 的图像实际上并没有多大作用<r:img>。这仅仅是因为图像是一种不同类型的资源,因此它们的处理方式有所不同。别出汗。:)
| 归档时间: |
|
| 查看次数: |
2315 次 |
| 最近记录: |