如何从JSP页面包含控制器


问题内容

我正在使用Spring MVC。

我想在菜单页面(名为menu.jsp)中包含一个控制器(名为MenuController)。如果我呼叫http:// localhost:8080 /
myWeb / menu.htm,

一切都很好。但是我尝试将菜单包含在我的主页中,如下所示:

<c:import url="menu.jsp"></c:import>
   Or  <c:import url="menu.htm"></c:import>

它什么也没显示

这是dispatcher-servlet.xml文件中的配置:

    <mvc:annotation-driven />

    <context:component-scan base-package="controllers" />


    <bean id="viewResolver"
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">

        <property name="prefix">
            <value>/views/</value>
        </property>
        <property name="suffix">
            <value>.jsp</value>
        </property>
    </bean>

和web.xml

  <servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>*.htm</url-pattern>
  </servlet-mapping>

我哪里错了?请帮我。谢谢!


问题答案:

尝试使用<%@ include file="menu.jsp" %><jsp:include page="menu.jsp" />

顺便说一下,这里没有控制器干预-这纯粹是在视图中发生的。

另一方面,如果您想让控制器设置菜单中所需的一些数据,则应该使用<c:import />。但是,该路径不是相对于当前页面的。因此,请确保它是正确的。