Spring模板Hello world项目不起作用

时间:2012-02-02 12:32:43

标签: java spring-mvc taglib sts-springsourcetoolsuite

我正在学习Spring STS并尝试创建简单的Web项目。我选择了Spring Template Project - > Spring MVC Project,填充名称并单击“完成”。我对该项目没有做任何其他事情,但它从一开始就有错误:

找不到“http://java.sun.com/jsp/jstl/core”的标记库描述符

这是关于创建的home.jsp文件向导。那么他们为什么不在模板中引用它时放置库描述符呢?

EDIT1

如果我运行此程序,则会收到错误404 http://localhost:8080/<appname>/未找到。

来自日志:

警告:org.springframework.web.servlet.PageNotFound - 在名为“appServlet”的DispatcherServlet中找不到带有URI [<appname>]的HTTP请求的映射

3 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,这是解决方案:

第一期: 要修复上面的错误,请右键单击项目资源管理器中的webapp目录,然后选择Build Path - &gt;单击“用作源文件夹”。这样做是将webapp目录添加到构建路径,以确保我们的webapp文件包含在部署中。

第二期“无法找到”http://java.sun.com/jsp/jstl/core“的标记库描述符 有时我注意到STS最初没有在模板中构建所有文件,所以只需转到home.jsp并重新保存即可。

我写了一篇关于这个主题的教程,可能对你有帮助:

http://devhub.fm/?p=56

祝你好运!

答案 1 :(得分:0)

根据this post项目&gt; STS中的清洁为我解决了这个问题。

答案 2 :(得分:0)

问题已经解决了......实际上在使用sts创建Spring MVC项目时,它会提示项目/应用程序名称以及包名称。因此,如果项目名称为TestPayments且包名称为com.xyz.payments,那么在运行项目后创建项目并将URL命名为localhost:8080 / TestPayments时会显示资源未找到或404.但实际上它可用作localhost: 8080 /付款

在创建项目时,它会在您的pom.xml中创建artifactId作为“payment”(基于包名称)

不确定原因,但它的确如此。