2011-09-27 81 views
0

我在我的web应用程序中实现了电子邮件共享服务。人们可以点击email button并访问他们可以发送电子邮件给他们想要的表格。Grails - 传递链接作为参数

我想设置一个默认的subjectbody

在邮件的default body text中,我想传递人们想要分享的页面的链接。当然有可能这样做,但我没有办法。 到目前为止,尝试通过我的文本编辑器的value参数中的链接已经是一个死路了。我想不出有没有其他办法可以做到这一点。

任何建议不胜感激。

回答

1

与将数据传递到要填充的任何其他字段的方式相同。

例如你的控制器返回一个模型emailShare包含subjectbodyurl

在你的GSP,可以说你有你的电子邮件的正文文本区域,

<g:textField name="emailSubject" value="${emailShare.subject}" /> 
<g:textArea name="emailBody" value="${emailShare.url}" rows="5" cols="40"/> 

这将将url设置为textarea中的默认文本,该文本也可以进一步编辑以添加更多文本。

+0

啊啊,你说得对。出于某种原因,我拼命试图从视图中做到这一点,当它很简单地将其作为控制器的模型传递给它时:) –

+0

其中一个'* ding *'* * lightbulb *'moment:D – gotomanners

1

您可以使用JavaScript获得当前页面的位置document.URL然后,您可以在表单上设置一个隐藏字段,并将其与您的电子邮件请求一起提交。例如:

<html> 
<head> 
<script type="text/javascript"> 
    function setLocation(urlField) { 
     urlField.value = document.URL 
    } 
    </script> 
</head> 
<body> 

    <form id="exampleForm" name="exampleForm" action="#"> 
    <input type="text" id="url" name="url"/> 
    <input name="submit" value="submit" type="button" onclick="setLocation(this.form.url);" /> 
    </form> 
    </body> 
</html>