Как вызвать(передать управление) в сервлет Action не из корневой стран

Тема в разделе "Java", создана пользователем sonix, 8 июн 2007.

Статус темы:
Закрыта.
  1. sonix

    sonix Гость

    Допустим есть приложение с контекстом mytest и дискриптором web.xml:

    <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>Servlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>/parse</url-pattern>
    </servlet-mapping>

    И дерево каталогов

    Mytest
    - html/pages/
    - page1.html
    ….
    - pageN.html
    - jsp/pages/
    - page1.jsp
    ….
    - pageN.jsp
    ……
    -WEB-INF
    -classes/Servlet.class
    -web.xml
    Вопрос:

    Как вызвать(передать управление) в сервлет action из НЕ КОРНЕВОЙ html и jsp страниц с помощью линка <a href="..?...">Pass control to servlet</a>

    Из корвевой работает нормально <a href="parse?param1=value1">, но со вложенной (например html/pages/) директории линк получается такого вида <a href="host:port/Mytest/html/pages/parse?param1=value1"> а не и путь к сервлету получается не корректный.

    Сенкс.
     
  2. vovander

    vovander Гость

    А какая разница куда слаживать жсп хтмл и тд? В web.xml прописан урл к сервлету, вот по нему и обращаешься (<url-pattern>/parse</url-pattern>).
     
  3. Gorgon

    Gorgon Гость

    Если я правильно понял и вот такой код <a href="parse?param1=value1"> прописывается в jsp, то это немного неверно, я бы писал <a href="<%=request.getContextPath()%>/parse?param1=value1">

    Есть подозрение, что <a href="parse?param1=value1"> при генерации на вложенной стронице добавляет путь это вложенной страницы, т.е. html/pages/, что при вызове сервлета совсем не надо
     
  4. Pete

    Pete Гость

    Надо использовать <c:url> из тегов JSTL и не мучаться с request.getContextPath().
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей