Last updated by pmcneil 1 year ago
Install it:
grails install-plugin gsp-arse
Then add a URL mapping to your projects UrlMappings.groovy file e.g.
"/resource/$path**"(controller: 'script', action: 'parse')
You can change "resource" to whatever you like.
Then change your references to point to that URL in your layouts/main.gsp, or any specific views like this:
<link rel="stylesheet" href="${resource(dir:'resource/css',file:'main.css')}" />
<script type="text/javascript" src="${resource(dir:'resource/js',file:'application.js')}?color=FA8DFF">
</script>
Last updated by pmcneil 1 year ago
GSParse
This plugin adds parsing of resource files (e.g. javascript, css) from the base path
directory as GSP files so you can use tags and data binding. The primary
motivation for this was providing a way to pass in relative paths to resources in
Javascrip to access controllers for AJAX calls. For example you can do this in your Javascript:-
$(function() {
$("#task").autocomplete('${g.createLink(controller: "task", action: "suggestTask")}', {
max: ${max},
width: 300
});
});The g.createLink tag is now relative to the url, so if the URL to your controller
contains a /id, this js file will still work.
It also allows CSS to use and set variables, or use paths to resources easily.
So for example you can do this:
body {
background: url('${g.resource(dir: "image", file: "thing.png")}');
color: #${color};
}To use the GSP parsing for javascript you use the controller url with the file path
add a URL Mapping like this to make the URLs pretty
"/resource/$path**"(controller: 'script', action: 'parse')
then just include something like this in your layout templates:
<script type="text/javascript" src="resource/js/application.js"></script>
The mime type is guessed for files with .js or .css endings otherwise set to text/plain.
You can override the mimetype using the type parameter. The primary type is
fixed as text.
Important: Version 1.1 now supports grails.mime.file.extensions, which parses the file extensions from URLs. When enabled it takes the file extension and mime type from response.format
e.g. resource/somewhere/application.blat?type=javascript
returns mime type text/javascript
"script/somewhere/myfile.blat?type=blat"
returns mime type text/blat
To set a parameter just add it to the URL. For example to set the color for the CSS
example above add ?color=FFF to the url.
see
http://nerderg.com/GSParse for more documentation.
Last updated by admin 1 year ago
Last updated by admin 1 year ago