struts2.xml - не может включать другой XML-файл - PullRequest
1 голос
/ 17 апреля 2009

Я использую struts2, для этого мой файл struts.xml содержит код вроде:

<?xml version="1.0" encoding="UTF-8" ?>

<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />

<include file="strutsAuthentication.xml"/>

<package name="default" extends="struts-default">
    <interceptors>
        <interceptor-stack name="crudStack">
            <interceptor-ref name="checkbox" />
            <interceptor-ref name="params" />
            <interceptor-ref name="static-params" />
            <interceptor-ref name="defaultStack" />
        </interceptor-stack>
    </interceptors>
</package>

И я указал все необходимые действия внутри strutsAuthentication.xml. Этот код:

<struts>
<package name="authentication" extends="default" namespace="/authentication">
    <action name="saveCountry" class="saveCountryAction">
        <interceptor-ref name="defaultStack" />
        <result name="success">/savecountry.jsp</result>
        <result name="error">/error.jsp</result>
    </action>

</package>

Когда я развертываю свое приложение в tomcat, оно предупреждает меня, что:

WARN (org.apache.struts2.components.Form: 308) - Не найдено конфигурации для указанного действия: 'saveCountry' в пространстве имен: ''. Действие формы по умолчанию равно буквальному значению атрибута action.

Это означает, что struts.xml не может включать в себя strutsAuthentication.xml. У кого-нибудь есть решение ?? Спасибо заранее ....

Ответы [ 3 ]

0 голосов
/ 18 апреля 2009

Я не знаю, какую версию struts2 вы используете, но если вы используете ветку 2.1.x, вы должны взглянуть на плагин соглашения http://cwiki.apache.org/S2PLUGINS/convention-plugin.html.. Вы можете избавиться от 99% конфигурации XML.

0 голосов
/ 25 июля 2011

Как добавить заметку. Мы никогда не должны использовать «xyz.action» на страницах JSP. Если позже нам потребуется или решится изменить шаблон URL-адреса с .action на .do или .html и т. Д. Мы должны изменить все страницы JSP. Лучший подход к созданию ссылок:

<a href="<s:url namespace="nsname" action="actionName" method="methodName"/>">Link Text</a>
0 голосов
/ 18 апреля 2009

Получил решение .... Для вышеуказанной проблемы я сделал ошибку при вызове действия со страницы jsp. Поэтому имя пространства имен «аутентификация» должно быть включено во время вызова класса действия. Окончательное решение: «authentication / saveCountry.action».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...