Я пытаюсь обновить простое веб-приложение, созданное с использованием struts2, jsp и стандартных сервлетов.
Я пытаюсь перенаправить URL на конкретное действие, но не могу заставить его работать правильно.
Например, правильный URL-адрес:
http://localhost:8080/theapp/lookup/search.action
Вот мой web.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd"><web-app>
<display-name>theapp</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
А вот мой struts.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration
2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
<default-action-ref name="search" />
<action name="search" method="search" class="com.theapp.SearchAction" >
<result>index.jsp</result>
<result name="input" >index.jsp</result>
<result name="error" type="redirect">site_locator_mobile/error.action</result>
</action>
Проблема здесь в том, что если я не укажу правильный URL, как указано выше, я просто получу файл index.jsp, но без каких-либо свойств в index.jsp, которые обрабатываются, поскольку информация содержится в сервлете.
Я бы хотел, чтобы кто-то только что вошел:
http://localhost:8080/theapp/lookup/
чем они будут приняты:
http://localhost:8080/theapp/lookup/search.action
Спасибо