当前位置: 首页 > 知识库问答 >
问题:

ModelAndView返回“文本/普通”类型的源代码

傅博瀚
2023-03-14

我的来源

@RequestMapping(value = "/", method=RequestMethod.GET)
public ModelAndView mainPage() {

    ModelAndView model = new ModelAndView("uploadPage");
    model.addObject("msg", "hello world");

    return model;
}

我的网络。xml

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
    <display-name>Archetype Created Web Application</display-name>

    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/spring/mvc/servlet-context.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>

    <welcome-file-list>
        <welcome-file></welcome-file>
    </welcome-file-list>
</web-app>

但当执行“mainPage方法”时,jsp页面看起来像是“text/plain”类型的源代码,而通常是页面。。。

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<%@ page isELIgnored="false" %>
<title>Hello Spring MVC</title>
</head>
<body>
    <h2>
        <c:out value="${msg}" />
    </h2>
</body>
</html>

共有2个答案

嵇光临
2023-03-14

您的页面似乎是作为普通资源文件从服务器返回的。这意味着Spring根本没有调用,您的文件可能会丢失。jsp扩展。首先检查你的网站。xml来查看DispatcherServlet是否正确映射以获取您的URL。如果不确定,只需输入

<servlet>
    <servlet-name>spring</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

其次,检查您的bean配置是否具有正确的viewResolver bean。

韩景辉
2023-03-14

好的,我想我知道了。更改

<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

这两者中的任何一个

<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>*</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

无论哪一个适合你。这个答案的功劳。

 类似资料:
  • 问题内容: 我正在尝试使用Spring,Hibernate和Apache Tiles运行我的Web应用程序。似乎代码没有错误,但是我只得到404页。 /var/log/tomcat7/catalina.out: Servlet: 上下文: Maven依赖项: 在添加所有hibernate内容之前,我尝试了该Web应用程序,它的运行效果非常好。但是什么是没有数据库的Web应用程序? 我已经花了几个小

  • 问题内容: 这就是我想要做的。使用反射,我想获取所有方法及其返回类型(非泛型)。我一直在这样做。但是,当我遇到返回类型未知的方法时,我遇到了限制。 我如何知道方法的返回类型是否通用?我没有奢求在运行时拥有对象。我正在尝试使用Google 或使用抽象类来获取类型信息。我想关联到对象的方法。 有人认为Java不保留通用信息。在这种情况下,为什么第一次强制转换有效而第二次强制转换无效。 任何帮助表示赞赏

  • 问题内容: 我在很多地方都读过,包括在方法返回类型中使用有界通配符是一个坏主意。但是,我在课堂上找不到避免这种情况的方法。我想念什么吗? 情况看起来像这样: 总而言之,这是一个我希望能够 使用 任何与英语有所不同的出版物的类。该类需要允许从外部访问发布,但理想情况下,的调用者不希望将结果用作有界通配符。他们会很高兴的。 有办法解决吗? 问题答案: 有界通配符具有传染性,这就是您链接到的页面似乎在哀

  • 问题内容: Java通常可以基于参数(甚至与返回类型(例如,与C#相反))来推断泛型。 恰当的例子:我有一个通用类,它只存储一对值,并且可以按以下方式使用: 该方法如下所示: 非常好。但是,这不再适用于以下需要通配符的用例: (请注意显式强制转换以进行正确的类型。) 代码失败,并显示以下错误(由Eclipse提供): 类型不匹配:无法从转换为 但是,显式调用构造函数仍然可以按预期工作: 有人可以解

  • 我不确定这在Java中是否可行。而且,我也不知道该在谷歌上查询什么。无论如何,我想要一个方法,它将一个类(接口或类)作为参数,并且该方法的返回类型是该类的一个实例。我不想事后重铸一个物体。 我不确定这个功能是否存在,或者语法是什么。假设我有一个名为XYZ的类,这是我的伪方法。 现在假设XYZ是某种通用语法。这在Java中可能吗?谢谢你的帮助。

  • 我有一个方法可以用来将HTML文本转换为普通文本。 问题是,当我传递HTML文本时,它会给普通文本增加一个额外的回车。 下面是导致问题的方法和示例文本。 有人能让我知道我错过了什么或者需要为此做些什么吗? 谢谢你的帮助。 示例文本: Lorem ipsum dolor sit amet,consectetur adipiscing elit,sed do eusmod tempor incidun