Struts 2: результат действия. Как показать в адресной строке браузера ссылку на jsp? - PullRequest
1 голос
/ 30 января 2012

Например на нашем index.jsp содержится только одна ссылка:

<a href="<s:url action='viewBook'/>">Your Book</a>

В браузере на странице index.jsp я вижу эту ссылку:

http://localhost:8080/project/viewBook.action

когда я нажимаю на открытую страницу по этой ссылке и в адресной строке браузера я вижу следующий адрес:

http://localhost:8080/project/viewBook.action

struts.xml содержит следующие строки для действия listTicket:

    <action name="viewBook" class="BookAction" method="view">
        <result>pages/book.jsp</result>
    </action>

Мой вопрос: что я должен изменить, чтобы вместо viewBook.action в браузере я увидел ссылку на страницу:

http://localhost:8080/project/book.jsp

Я пытаюсь установить для тега результата type = "redirect". Но в этом случае - страница пуста.

Ответы [ 2 ]

3 голосов
/ 30 января 2012

Вы не увидите файл поддержки просмотра, показанный в URL, и не хотите. Механика представления является абстракцией и не показана практически во всех средах MVC.

Вы увидите viewBook.action (при условии расширения действия по умолчанию), если перенаправить на действие, используя "redirectAction" тип результата . Это желаемый URL.

3 голосов
/ 30 января 2012

Ты не должен этого делать.Вы хотите, чтобы URL ссылался на ваш контроллер , а не на ваш jsp.

...