2009-04-17 2 views
1

Я использую Struts2, для этого мой файл struts.xml содержит код, как:struts2.xml - не может включать в себя другие 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> 

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

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

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

ответ

0

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

0

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

0

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

<a href="<s:url namespace="nsname" action="actionName" method="methodName"/>">Link Text</a> 
Смежные вопросы