Как указать <action>в struts.xml на другой <action>? - PullRequest
0 голосов
/ 13 декабря 2011

Обычно, когда пользователь переходит на example.com, я хочу предоставить ему тот же контент, который был бы у меня, если бы он перешел на example.com/news.Ниже приведен фрагмент кода.

Текущий COnfig

  <action name="" class="action.public.news">
        <result>/jsp/labs/listLabs.jsp</result>
    </action>
<action name="news" class="action.public.news">
        <result>/jsp/labs/listLabs.jsp</result>
    </action>

Desried COnfig

<action name="" class="action.public.news">
        Use Action Named "news" instead
    </action>

    <action name="news" class="action.public.news">
        <result>/jsp/labs/listLabs.jsp</result>
    </action>

Ответы [ 2 ]

1 голос
/ 13 декабря 2011

Если я правильно понимаю, вы хотите, чтобы при попадании пользователя в базовый домен example.com он получал содержимое действия news. Один из способов сделать это -

создать пустое имя файла welcomeв папке с веб-контентом. Добавьте следующую запись в ваш файл web.xml

 <filter>
        <filter-name>action2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
 <filter-mapping>
        <filter-name>action2</filter-name>
         <url-pattern>/*</url-pattern>
         <dispatcher>REQUEST</dispatcher>    
         <dispatcher>FORWARD</dispatcher>
         <dispatcher>INCLUDE</dispatcher>
         <dispatcher>ERROR</dispatcher>
    </filter-mapping>

, замените файл списка приветствия в файле web.xml на

<welcome-file-list>
        <welcome-file>welcome</welcome-file>
</welcome-file-list>

и, наконец, на свой strus.xml.сделать что-то вроде

<action name="welcome" class="action.public.news">
        <result>/jsp/labs/listLabs.jsp</result>
    </action>

, то, что мы пытаемся сделать, это то, что когда мы нажимаем example.com вместо того, чтобы показать файл приветствия jsp, мы запускаем действие и используем его результат

0 голосов
/ 13 декабря 2011

Большинство людей создают страницу index.jsp в папке веб-приложения, содержащей это:

<% response.sendRedirect("index.action"); %>

Это перенаправит посетителей на index.action, когда они придут на ваш домен. Затем в struts.xml:

<action name="index" class="action.public.news">
   <result>/jsp/labs/listLabs.jsp</result>
</action>

Ура, Christian

...