Как включить контроллер со страницы JSP - PullRequest
2 голосов
/ 06 мая 2011

Я использую 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>

оно ничего не показывает

Это файл config в файле 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>

Где я не прав?Пожалуйста, помогите мне.Спасибо!

Ответы [ 2 ]

5 голосов
/ 06 мая 2011

Попробуйте использовать <%@ include file="menu.jsp" %> или <jsp:include page="menu.jsp" />

Кстати, здесь никакой контроллер не мешает - это происходит исключительно в виде.

С другой стороны, если вы хотите, чтобы ваш контроллерчтобы установить некоторые данные, необходимые в меню, тогда вам действительно следует использовать <c:import />.Однако, не то, что путь там относительно текущей страницы.Поэтому убедитесь, что это правильно.

1 голос
/ 11 декабря 2013

Я только что обнаружил сегодня, что вы можете запустить контроллер, ссылаясь на относительный URL-адрес Spring в include.

<jsp:include page="/ConrollerRequestMapping/your/method/request/mapping"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...