返回字符串作为模板

huangapple go评论125阅读模式
英文:

return string as template

问题

我想在golang的martini中返回一个字符串作为模板:

m.Get("/", func(r render.Render) string {
    template := "Hello world! <form name='input' action='../first' method='post'><input type='text' name='toto'><input type='submit' value='Submit'></form>"
    r.HTML(200, "post", template)
})

但是它给我返回了一个错误:
函数末尾缺少返回语句

谢谢!
bussiere

英文:

I would like to return a string as a template in martini in golang :

m.Get(&quot;/&quot;, func(r render.Render) string {
	template := &quot;Hello world! &lt;form name=&#39;input&#39; action=&#39;../first&#39; method=&#39;post&#39; &gt;&lt;input type=&#39;texte&#39; name=&#39;toto&#39;&gt;&lt;input type=&#39;submit&#39; value=&#39;Submit&#39;&gt;&lt;/form&gt;&quot;
	r.HTML(200, &quot;post&quot;, template)

})

but it return me an error :
missing return at end of function

Regards & thanks
bussiere

答案1

得分: 1

你需要返回以下字符串:

m.Get("/", func(r render.Render) string {
    return "Hello world! <form name='input' action='../first' method='post' ><input type='texte' name='toto'><input type='submit' value='Submit'></form>"
})
英文:

You need to return the string so:

m.Get(&quot;/&quot;, func(r render.Render) string {
    return &quot;Hello world! &lt;form name=&#39;input&#39; action=&#39;../first&#39; method=&#39;post&#39; &gt;&lt;input type=&#39;texte&#39; name=&#39;toto&#39;&gt;&lt;input type=&#39;submit&#39; value=&#39;Submit&#39;&gt;&lt;/form&gt;&quot;
})

答案2

得分: 1

如果你想使用render函数,请从你的函数中移除返回类型为字符串的部分。

m.Get("/", func(r render.Render) {
    template := "Hello world! <form name='input' action='../first' method='post' ><input type='texte' name='toto'><input type='submit' value='Submit'></form>"
    r.HTML(200, "post", template)
})

我假设"post"是你已经在目录结构中定义的模板,并且你传递的字符串参数将放在这个模板中。

英文:

If you want to use render remove the string return type from your function.

m.Get(&quot;/&quot;, func(r render.Render) {
    template := &quot;Hello world! &lt;form name=&#39;input&#39; action=&#39;../first&#39; method=&#39;post&#39; &gt;&lt;input type=&#39;texte&#39; name=&#39;toto&#39;&gt;&lt;input type=&#39;submit&#39; value=&#39;Submit&#39;&gt;&lt;/form&gt;&quot;
    r.HTML(200, &quot;post&quot;, template)

})

I am assuming "post" is a template you have already defined in your directory structure and that the string you are passing as an argument will go inside this template.

答案3

得分: 0

在martini中呈现字符串时,必须使用HTML标签。

m.Get("/", func(r render.Render) string {
	template := "<html>Hello world! <form name='input' action='../first' method='post' ><input type='texte' name='toto'><input type='submit' value='Submit'></form></html>"
	return template
})

请注意,这是一个示例代码片段,用于在martini中呈现包含HTML标签的字符串。

英文:

When you render a string in martini you must use the html tags.

m.Get(&quot;/&quot;, func(r render.Render) string {
	template := &quot;&lt;html&gt;Hello world! &lt;form name=&#39;input&#39; action=&#39;../first&#39; method=&#39;post&#39; &gt;&lt;input type=&#39;texte&#39; name=&#39;toto&#39;&gt;&lt;input type=&#39;submit&#39; value=&#39;Submit&#39;&gt;&lt;/form&gt;&lt;/html&gt;&quot;
	return template

})

huangapple
  • 本文由 发表于 2014年9月16日 07:04:40
  • 转载请务必保留本文链接:https://go.coder-hub.com/25858184.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定