Я новичок, чтобы пойти и испытать beego.Не удается разобрать данные формы из beego
Я пытаюсь получить размещены данные формы из:
<form action="/hello" method="post">
{{.xsrfdata}}
Title:<input name="title" type="text" /><br>
Body:<input name="body" type="text" /><br>
<input type="submit" value="submit" />
</form>
К контроллеру:
type HelloController struct {
beego.Controller
}
type Note struct {
Id int `form:"-"`
Title string `form:"title"`
Body string `form:"body"`
}
func (this *HelloController) Get() {
this.Data["xsrfdata"]= template.HTML(this.XSRFFormHTML())
this.TplName = "hello.tpl"
}
func (this *HelloController) Post() {
n := &Note{}
if err := this.ParseForm(&n); err != nil {
s := err.Error()
log.Printf("type: %T; value: %q\n", s, s)
}
log.Printf("Your note title is %s" , &n.Title)
log.Printf("Your note body is %s" , &n.Body)
this.Ctx.Redirect(302, "/")
}
Но вместо того, чтобы строковые значения вводятся в поле я получаю:
Your note title is %!s(*string=0xc82027a368)
Your note body is %!s(*string=0xc82027a378)
Я следовал за the docs по запросу обработки, но оставил неизвестным, почему не может опубликовать str ь.
вы получаете адрес указателя, что о, если вы измените log.Printf ("Ваше название банкноты% s", & n.Title) для этого -> log.Printf («Ваше название заметки -% s», n.Title) – chespinoza
Затем я получаю такие вещи, как «Заголовок вашей заметки: 0xc820267d18' – Karlom
Но, проверяя документацию, как определить структуру (в вашем случае Примечание) является как тип структуры, а не как указатель (&) для этой структуры, а затем в вашем коде вы должны быть n: = Примечание {} – chespinoza