当前位置: 首页 > 面试题库 >

Golang中没有这样的文件或目录错误

芮建茗
2023-03-14
问题内容

我想在我的一个golang控制器中指定一个html模板。我的目录结构是这样的

 Project
 -com
  -src
   - controller
     -contoller.go
 -view
  - html
   -first.html

我想为请求/ new加载first.html。我已经将NewHandler用于url / new,并且当/
new请求到达并且在controller.go中时,NewHandler函数正在执行。这是我的代码

func NewHandler(w http.ResponseWriter, r *http.Request) {
    t, err := template.ParseFiles("view/html/first.html")
    if err == nil {
        log.Println("Template parsed successfully....")
    }
 err := templates.ExecuteTemplate(w, "view/html/first.html", nil)
if err != nil {
    log.Println("Not Found template")
}
//  t.Execute(w, "")
}

但是我遇到一个错误

     panic: open first.html: no such file or directory

请帮助我删除此错误。提前致谢


问题答案:

我已经通过提供html的绝对路径解决了这个问题。为此,我创建了一个可解析html的类。

package htmltemplates

import (
"html/template"
"path/filepath"
)

在NewHandler方法中,我删除了//模板用于存储所有模板var模板* template.Template

func init() {
filePrefix, _ := filepath.Abs("./work/src/Project/view/html/")       // path from the working directory
Templates = template.Must(template.ParseFiles(filePrefix + "/first.html")) 
...
//htmls must be specified here to parse it
}

在NewHandler中,我删除了前5行,而是给了

err := htmltemplates.Templates.ExecuteTemplate(w, "first.html", nil)

它现在正在工作。但是,如果有的话,需要一个更好的解决方案



 类似资料:
  • 问题内容: 我正在使用Ubuntu 14.04。我有以下代码: 但我不断收到以下错误: python程序和图像都在同一位置。可能是什么问题? 问题答案: 您需要安装:

  • 我正试图在文件系统上创建一个文件,但仍然得到这个异常: 即使拍完照片后得到了链接Camare: :/storage/emulated/0/sample-take-image/image162064003789420210510_160517.jpg 所以有人能告诉我为什么我不能创建文件在这种情况下。我目前在Android11上 **CompilesDK版本30

  • 甚至我已经使用安装了它。结果总是 我已经做了很多命令来解决它,但失败了。以下是我已经尝试的命令: 因为这个我不能开始任务。伙计们帮帮我。在此之前,我使用了以下命令。现在我有问题了,我不能再用NPM工作了。我对这个真的很陌生。我现在不知道怎么解决这个问题。 更新 我已经使用命令获得了列表。我也得到这里链接的想法,但当我在项目中。我总是得到这个“result env:node:No such file

  • 我正在尝试编写一个程序,使用Scala运行Linux命令。 我写了一段代码来运行命令的功能。 代码片段 当我尝试运行命令

  • 问题内容: 我在Windows中使用Code :: Blocks。 我创建了一个dll项目,试图获得一些JNI实践。 在javah生成的.h文件中,有#include jni.h,但是当我尝试对其进行编译时,它总是说jni.h:没有这样的文件或目录。 我认为这与classpath有关,但我不知道它是什么!可能是我必须更改Code :: Blocks的设置 有人可以帮我解决这个问题吗?非常感谢 编辑