struts2 - struts.action.extension не работает

Я пытаюсь изменить URL-адрес по умолчанию в своем приложении, используя код ниже,

struts.xml:

<!DOCTYPE struts PUBLIC
   "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
   "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
  <constant name="struts.action.extension" value="htm"/>

  <package name="default" namespace="/" extends="struts-default"  >

   <action name="LoginClass" class="com.struts2.LoginCheckingClass" method="execute">
   <result name="input">/Home.jsp</result>
   <result name="success" type="dispatcher">/LoginSuccessPage.jsp</result>
   <result name="error">/Home.jsp</result> 
   </action> 
  </package>  

</struts>

Главная.jsp :

<s:actionerror/><s:fielderror />
<br>
<s:form action="LoginClass" method="post" validate="true">

<s:textfield name="Uname" label="User Name" />

<s:textfield name="Pwd" label="Password" />

<s:submit validate="true"  type="image" src="button-login2.png"/>

</s:form>

Но при отправке в Home.jsp страница всегда переходит на страницу с ошибкой 404. Я видел все учебники и делал то же самое, но все равно получаю ту же ошибку.

Если я удалю <constant name="struts.action.extension" value="htm"/> из struts.xml, тогда страница перенаправится на представленную страницу правильно.

кто-нибудь, помогите мне, где я делаю неправильно?


person MMMMS    schedule 06.07.2015    source источник
comment
Какой URL вы видите в браузере при получении 404? Любая ошибка в консоли?   -  person Aleksandr M    schedule 06.07.2015
comment
@AleksandrM я вижу этот URL-адрес localhost:8080/Struts2Application/LoginClass при получении 404. и нет ошибки в приставка.   -  person MMMMS    schedule 07.07.2015
comment
Это странно... Вы можете изменить struts.action.extension на value="htm,,".   -  person Aleksandr M    schedule 07.07.2015
comment
@AleksandrM omg ... он работает после изменения значения = htm,,. почему как?   -  person MMMMS    schedule 07.07.2015
comment
Это работает, потому что с htm,, также разрешено пустое расширение действия. Вопрос в том, почему это не добавляет htm к вашему действию. Может быть, вы фильтруете или отправляете эту форму с помощью ajax?   -  person Aleksandr M    schedule 07.07.2015
comment
См. stackoverflow.com/q/12607075/1700321.   -  person Aleksandr M    schedule 07.07.2015
comment
Нет, я не пытаюсь использовать ajax, я просто хочу отображать URL-адрес Struts2Application/LoginClass.htm или Struts2Application/LoginClass.jsp вместо Struts2Application/LoginClass.action   -  person MMMMS    schedule 07.07.2015