JSP 内容显示在浏览器上
Posted
技术标签:
【中文标题】JSP 内容显示在浏览器上【英文标题】:JSP Content is shown on browser 【发布时间】:2015-09-15 22:45:25 【问题描述】:我正在创建一个 Spring Boot 应用程序。这只是一个 Hello World 程序。当我运行应用程序时,会显示 JSP 页面的全部内容。 Jsp页面内容是
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html">
<head><title>Hello world Example</title></head>
<body>
<h1>Hello $name, How are you?</h1>
</body>
</html>
name 变量,我正在从控制器类 HelloWorldController.java 中读取它。
@Controller
public class HelloWorldController
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public ModelAndView hello()
return new ModelAndView("hello").addObject("name", "Nagendra");
我是 Spring 框架的新手,我不知道这里有什么问题。我们甚至在 Spring Boot 应用程序中都没有 web.xml。有人能帮我吗?我跟随 http://www.technicalkeeda.com/spring/spring-boot-mvc-example 创建了这个示例应用程序。
【问题讨论】:
您在浏览器 URL 中输入了什么? @shazin 我输入了localhost:8080/hello.jsp 从标签和命名空间来看不是JSP而是facelets页面... docs.spring.io/spring-boot/docs/current/reference/htmlsingle/… M.Deinum。好的。那可能是什么问题? 【参考方案1】:是的,这是一个问题:将您的 JSP 编辑到下面:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<head><title>Hello world Example</title></head>
<body>
<h1>Hello $name, How are you?</h1>
</body>
</html>
如果这不起作用,我会告诉你 Controller 方面的变化。
更新
使用这个控制器:
@Controller
public class HelloWorldController
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String hello(Model model)
model.addAttribute("name","Nagendra");
return "nameofjspwithoutextension"; // if jsp is abc.jsp then return "abc";
【讨论】:
它不工作。你能告诉我在 Controller 端我需要做的改变吗? 它还在浏览器中打印jsp吗?您能否编辑您的主要帖子并包括 web.xml 和 applicationContext.xml。 我在 Spring Tool Suite 中创建了一个 Spring Starter 项目,但它没有生成 web.xml 或 applicationContext.xml 。它添加了弹簧靴罐。我关注了technicalkeeda.com/spring/spring-boot-mvc-example这个链接。据说,我们可以从控制器类控制一切。 我添加了一个控制器。试试卡罗。以上是关于JSP 内容显示在浏览器上的主要内容,如果未能解决你的问题,请参考以下文章