【问题标题】:How to include a controller from jsp page如何从jsp页面包含控制器
【发布时间】:2011-05-06 05:32:06
【问题描述】:

我正在使用 Spring MVC。

我想在我的主页中包含带有控制器(名为 MenuController)的菜单页面(名为 menu.jsp)。 如果我打电话给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>

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

【问题讨论】:

    标签: jsp spring-mvc jstl


    【解决方案1】:

    尝试使用&lt;%@ include file="menu.jsp" %&gt; 或&lt;jsp:include page="menu.jsp" /&gt;

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

    另一方面,如果您希望控制器在菜单中设置一些所需的数据,那么您确实应该使用&lt;c:import /&gt;。然而,那里的路径不是相对于当前页面的。所以请确保它是正确的。

    【讨论】:

    • 感谢您的帮助!我试过这样做。但它没有显示任何东西。 MenuController 将一些对象发送到 menu.jsp。使用上面的 url-pattern,我使用localhost:8080/myWeb/menu.htm,我可以从控制器获取对象。但我不知道确切的路径以及如何导入此页面。我想将一些数据设置为菜单并显示在主页中。我该怎么办?
    • 您能否在实验中通过页面的绝对路径导入页面 - 即包括localhost。有用吗?
    • 谢谢!我修好了它。当我使用 时问题解决了。这意味着我错过了路径中的“/”。
    • Bozho:你会如何使用 c:import 和控制器在菜单中设置一些数据?我正在使用包含在所有页面中的 menu.jsp 开发应用程序,并且我希望某些菜单项仅在用户具有正确权限(如在会话上下文中设置)时出现。到目前为止,唯一对我 100% 有效的技术是好的老式脚本;使用
    • 它应该可以工作 - 确保您将所有必需的数据集作为请求或会话属性
    【解决方案2】:

    我今天刚刚发现,您可以通过引用包含中的相对 Spring url 来触发控制器。

    <jsp:include page="/ConrollerRequestMapping/your/method/request/mapping"/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-21
      • 2010-09-15
      • 1970-01-01
      • 1970-01-01
      • 2016-02-12
      • 2015-10-08
      相关资源
      最近更新 更多