grailsgspcleditor

how to replace coding in gsp?


how to replace the coding in the finePrint?

enter image description here

that large textArea i call "finePrint"... this is my problem...i am confusing.. when i filled with HMTL's coding..with ${name} on gsp.. like this..

enter image description here

look the arrow...thats have a button submit at below finePrint..when i click that... the g:textField of "Your Name" thats i fill with "Bobby"..it will be replace in the finePrint with ${name}..

this ini my gsp coding where i fill it to finePrint..

<table align="center" >

            <tbody>
            <tr style="border-spacing:0!important;border-collapse:collapse!important;color:#666666;background-color:#F8F8F8" align="center">
                <td style="padding:35px 75px 60px 75px;background-color:#fafafa;">
                    <table style="border-spacing:0!important;border-collapse:collapse!important;color:#666666;" width="80%">
                    <tbody>
                    <tr>
                        <td>
                            <p align="center"><img alt="Tempo AI" border="0"/></p>
                            <h1 style="font-family:Arial,Helvetica,sans-serif;color:#ee710b;font-size:30px;font-weight:normal;width:450px">${name}, you requested to reset your Password</h1>
                            <p style="padding:0;margin:0 0 15px 0;">To reset your password, just click the link below.</p>
                            <p style="padding:0;margin:0 0 15px 0;"><a href="" style="color:#44b1d9;">Reset Password</a></p>
                            <p style="padding:0;margin:0;">Best,</p>
                            <p style="padding:0;margin:0;color:#bcbcbc;font-size:20px;">Tempo Team</p>                  
                        </td>
                    </tr>
                    </tbody>
                    </table>
                </td>
            </tr>

            <tr style="font-family:Arial, Helvetica, sans-serif;padding-top:15px;" align="center" >
                <td style="font-family:Arial, Helvetica, sans-serif;padding-top:15px;" align="center">
                    <p style="margin-top:0;margin-bottom:10px;">
                        <a href="http://www.facebook.com" style="text-decoration:none;">
                            <img alt="Facebook"  border="0"/>
                        </a>
                         &nbsp;&nbsp;&nbsp;

                        <a href="http://www.twitter.com" style="text-decoration:none;">
                            <img alt="Twitter" border="0"/>
                        </a>
                        &nbsp;&nbsp;&nbsp;

                        <a href="http://www.plus.google.com" style="text-decoration:none;">
                            <img alt="Google+" border="0"/>
                        </a>
                        &nbsp;&nbsp;&nbsp;

                        <a href="http://www.mail.yahoo.com" style="text-decoration:none;">
                            <img alt="Email" border="0"/>
                        </a>
                    </p>
                    <p style="margin-top:0;margin-bottom:8px;font-size:12px;font-weight:bold;">
                        <a style="color:#666666;text-decoration:none;">
                            ABOUT
                        </a>
                        &nbsp;&nbsp;&nbsp;
                        <a style="color:#666666;text-decoration:none;">
                            PRIVACY
                        </a>
                        &nbsp;&nbsp;&nbsp;
                        <a style="color:#666666;text-decoration:none;">
                            TERM OF USE
                        </a>
                    </p>
                    <p style="padding:0;margin:0;font-size:10px;color:#999999;font-weight:bold;">
                        If you would like to change your email notification settings 
                        <a style="color:#44b1d9;" href="www.w3school.com">click here</a>
                    </p>
                    <p style="padding:0;margin:0;font-size:10px;color:#999999;font-weight:bold;">
                        © 2012 Tempo
                    </p>

                </td>               
            </tr>
            </tbody>
        </table>

and this is my SMTP coding when i click submit..it will send email to abc@yahoo.com

def send = {    
        sendMail {
            multipart true          
            to params.email
            from "s_yoshitsune@yahoo.com"
            subject "Test Reset Password"
            html params.finePrint
        }       
        render params.finePrint
    }

and the result when i received email..

enter image description here

i want the ${name} replaced by my name(Bobby) where i fill before

this is coding for submit email address..

<!DOCTYPE html>
<html>
<head>
    <meta name="layout" content="main"/>
    <g:javascript src='jquery-1.6.2.min.js'/>
    <g:javascript src='jquery.cleditor.min.js'/>
    <g:javascript src='test.js'/> <%-- cara import file JavaScript/ JS --%>
    <link rel="stylesheet" href="${resource(dir: 'css', file: 'cleditor/jquery.cleditor.css')}" type="text/css"> <%-- cara import file CSS --%>
    <title>Reset Password</title>

</head>

<body>

    <g:form action="send">
        <table style="width:500px">
            <tbody>
                <tr>
                    <td>Your Email Address  </td>
<%--                    <td><input style="width:250px" name="email" /></td>--%>
                    <td><g:textField style="width:250px" name = "email"/></td>
                </tr>
                <tr>
                    <td>Your Name</td>
                    <td><g:textField style="width:250px" name = "user"/></td>
                </tr>
                <tr>
                        <td colspan="4">                            
                            <g:textArea name="finePrint"/>
                        </td>

                 </tr>              
                <tr>
                    <td><input type="submit"/></td>
                </tr>
            </tbody>
        </table>
    </g:form>
<div id="finePrintBlank" style="display:none;" title="${message(code: 'campaign.finePrint.label')}">
    <p>${message(code: 'default.blank.message', args: [message(code: 'campaign.finePrint.label')])}</p>
</div>

</body>

</html>

Solution

  • In the gsp page, you can prepopulate finePrint with your html code like this,

    <g:textArea name="finePrint">
        <table align="center" >
            <tbody>
                ...etc...
                ${name}, you requested to reset your password.
                ...rest of the data... 
            </tbody>
        </table>
    <g:textArea>
    

    That will be processed on the server side and you should have your the name resolved before it reached the client.