Заполнение раскрывающегося списка на странице индекса в Struts 2.x

1. Я создаю веб-приложение, в котором мне нужно взаимодействовать с базой данных, получать список значений и заполнять их в раскрывающемся списке (который является элементом формы в index.jsp). . В моей форме есть раскрывающийся список, который я собираюсь заполнить кодами городов, которые, в свою очередь, присутствуют в таблице базы данных. Мне было интересно, могу ли я запустить действие как начальное попадание? т.е. могу ли я запустить действие как часть приветственного списка в web.xml?

2. Кроме того, я сталкиваюсь с проблемой, при которой, когда я развертываю приложение на сервере приложений Websphere и получаю доступ к ссылке как имя сервера / имя проекта, появляется сообщение об ошибке

Messages: •There is no Action mapped for namespace / and action name .
 

поэтому я вынужден получить доступ к приложению как имя_сервера / имя_проекта / index.jsp - что работает нормально! Я не понимаю проблему, поскольку она не появляется на моем локальном компьютере и только тогда, когда я развертываю ее на сервере. Пожалуйста, найдите ниже мой web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
      <display-name>FirstRtWebGUIRevive</display-name>
      <welcome-file-list>
        <welcome-file>/home.jsp</welcome-file>
      </welcome-file-list>
      <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>
    </web-app>

и с этим мой struts.xml:

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

    <struts>
        <constant name="struts.devMode" value="true" />
        <package name="default" extends="struts-default" namespace="/">
            <action name="hit" class="com.action.MakeTransaction" method="concurrentPull">
                <result name="success">/resultMain.jsp</result>
                <result name="empty">/homeRedirect.jsp</result>
                <result name="noState">/homeRedirectNoState.jsp</result>
            </action>
            </package>
    </struts>

Обратите внимание, что я добавил namepace = "/" в объявление своего пакета. Пожалуйста, помогите: D Заранее спасибо


person user3615309    schedule 19.05.2014    source источник


Ответы (1)


Попробуйте позвонить, используя servername / projectname / hit

вы можете вызвать, используя имя_сервера / имя_проекта, если вы добавите тег default-action-ref в конфигурацию struts,

<struts>
...
<package>
...
<default-action-ref name="hit"/> 
... 
</package>
</struts>

но имейте в виду, что эта строка будет перенаправлять все запросы, принадлежащие пространству имен /, для которых не существует сопоставления, например:

servername / projectname будет обрабатывать с помощью => servername / projectname / hit servername / projectname / AnyValidName будет обрабатывать => servername / projectname / hit servername / projectname / Mohamed_Sulibi будет обрабатывать => servername / projectname / hit

person mohamed sulibi    schedule 20.05.2014