Grails using grails var in GSP Site inside javascript

12,303

Solution 1

Why do not use the javascript GSP-tag? A solution can look like this:

<g:javascript>
    var jsSelectedValue = "${session.selectedValue}"; 
</g:javascript>

Solution 2

The solution to your first problem might be as follows:

UPDATE: Modifications according to @Medrod's solution:

<script type="text/javascript">
var jsSelectedValue = "${session.selectedValue}";
</script>

And for second question:
Send selected value to server and set session variable.

Share:
12,303
grailsInvas0r
Author by

grailsInvas0r

Updated on June 28, 2022

Comments

  • grailsInvas0r
    grailsInvas0r almost 2 years

    I have a question using grails variable values in javascript code in a GSP file.

    For Example: I have a session value session.getAttribute("selectedValue") and I want to use this value inside javascript code part.

    My solution is now (inside a GSP):

    <%
        def js = new String("<script type=\"text/javascript\">")
        js += "var jsSelectedValue = " + session.getAttribute("selectedValue") + ";"
        js += "</script>"
        out << js
    %>
    

    and then I have javascript block inside my GSP with jQuery Stuff and so on, there I need this value.

    Is there another way to have grails variables accessible inside pure javascript code?

    And second question, the exactly other way around. I select for example in a dropdown box and click "save" and then i want to store the value $("#select-box").val() inside a session variable from JS-part.

    Thank you very much in advance for your help.

    Cheers,

    Marco

  • grailsInvas0r
    grailsInvas0r over 12 years
    Thanks Medrod and Zedwal! For the answer of the second question, if I send everything to the server (e.g. JSON POST) every script kiddie can prepare some local form values and prepared ajax post and manipulte... right?!
  • RasTheDestroyer
    RasTheDestroyer over 11 years
    Not sure if anyone else will get stuck in the same way I did, but make sure that the var declaration is in a separate tag than any script with a source parameter.