- 新增 dynamic.go 文件处理 HTML 模板请求 - 实现模板函数 intVal用于字符串到整数转换 - 添加 edit.html 模板支持产品数据编辑- 创建 forms.go 处理表单提交和数据更新 - 新增静态文件服务支持 /static/ 路径访问 - 添加 products.html 模板显示产品列表 - 实现 JSON 数据接口 /json 返回产品列表 - 添加 Bootstrap 样式支持改善界面显示- 实现产品编辑链接和表单提交功能 - 添加输入验证和错误处理机制
30 lines
747 B
Go
30 lines
747 B
Go
package main
|
|
|
|
import (
|
|
"net/http"
|
|
"strconv"
|
|
)
|
|
|
|
func ProcessFormData(writer http.ResponseWriter, request *http.Request) {
|
|
if request.Method == http.MethodPost {
|
|
index, _ := strconv.Atoi(request.PostFormValue("index"))
|
|
price, err := strconv.ParseFloat(request.PostFormValue("price"), 64)
|
|
if err != nil {
|
|
Printfln("Error: %v", err.Error())
|
|
http.Redirect(writer, request, "/templates/", http.StatusTemporaryRedirect)
|
|
return
|
|
}
|
|
p := Product{
|
|
Name: request.PostFormValue("name"),
|
|
Category: request.PostFormValue("category"),
|
|
Price: price,
|
|
}
|
|
ProductList[index] = p
|
|
}
|
|
http.Redirect(writer, request, "/templates/", http.StatusTemporaryRedirect)
|
|
}
|
|
|
|
func init() {
|
|
http.HandleFunc("/forms/edit", ProcessFormData)
|
|
}
|