이번에는 긴으로 html에서 입력한 값을 보내는 법을 써보겠습니다.
저는 전송하는데 (만능)POST를 이용하여 전송해보았습니다.
우선 HTML입니다.
index.html
{{template "header.html"}}
<h1 class="title">{{.title}}</h1>
<form method="post">
<label>입력:</label>
<input type="text" name="input">
<input type="submit" title="버튼">
</form>
{{template "footer.html"}}
{{template "footer.html"}}과 {{template "header.html"}}는 여기 링크를 참고해주세요.
우선은 form 태그를 이용해서 데이터를 전송할 예정이고요. text에 입력한 값을 버튼을 누르면 전송할 겁니다.
다음은 go 코드 입니다. 받은 값은 fmt.Println로 출력되게 할껍니다.
저 같은경우는 setRouter라는 메소드를 만들어 따로 빼두었습니다. (메소드를 만들지말지는 자유롭게...)
package main
import (
"fmt"
"github.com/gin-gonic/gin"
"net/http"
)
func setRouter(router *gin.Engine) {
router.GET("/", func(c *gin.Context) {
c.HTML(http.StatusOK, "index.html", gin.H{
"Title": "메인페이지",
})
})
router.POST("/", func(c *gin.Context) {
fmt.Println(c.PostForm("input"))
})
}
func main() {
router := gin.Default()
setRouter(router)
_ = router.Run(":8080")
}
이제 실행하면 이런 창이 뜹니다.
원하시는 값을 입력하시고 제출 버튼을 눌러주시면...
제가 입력한 값이 출력되는 모습을 볼수 있습니다.