Обслуживание статического содержимого с помощью Struts2: ошибка Tomcat 404 - PullRequest
1 голос
/ 02 июня 2010

В Struts2 я не могу найти способ обслуживания статического CSS: - / Вопрос новичка, но я не смог найти ответа в Интернете:

Файл CSS static/styles.css в моем файле WAR.

Tomcat отвечает 404, когда я запрашиваю http://server/myapp/static/styles.css

Но это работает, если я поставлю styles.css в корень WAR и запросу http://server/myapp/styles.css

Я попытался добавить следующее к своему struts.xml в единственном пакете, но все равно 404:

<action name="/static/*">
  <result>/static/{1}</result>
</action>

Или как вторая упаковка:

<package name="static" extends="struts-default" namespace="/static">
  <action name="/static/*">
    <result>/static/{1}</result>
  </action>
</package>

Ответы [ 2 ]

2 голосов
/ 05 сентября 2012

Это очень старый вопрос, но, поскольку на него не было ответа, и я боролся с той же проблемой, я уверен, что другие могут извлечь выгоду из решения.

По умолчанию Struts предоставляет статический контент только из JAR-файлов, но не из подкаталогов вне JAR-файлов. Поэтому вам нужно добавить это в ваш файл struts.xml:

<constant name="struts.action.excludePattern" value=".*/static/.*" />

Это предотвращает обработку чего-либо в «статической» папке как действия.

0 голосов
/ 04 июня 2010

Вам не нужно ничего включать (действие или пакет). Struts2 по умолчанию предоставляет статический контент.

Убедитесь, что после развертывания вашего файла war существует ресурс style.css по вашему пути.

...