Как захватить EventDispatchAction в Struts из гиперссылки? - PullRequest
0 голосов
/ 12 марта 2011

У меня есть страница JSP, на которой есть несколько вариантов поиска, например «поиск по идентификатору приложения», «поиск по имени кандидата» и т. Д. Я использовал Struts EventDispatchAction, чтобы перехватить событие, созданное определенной кнопкой отправки.Это работает нормально.Ниже приведен снимок файла конфигурации Struts для этого:

Теперь я столкнулся с проблемой разбивки на страницы результатов поиска, потому что я не могу создать событие при нажатии на номера страниц.,Это гиперссылки.Ниже приведен код, используемый для генерации номеров страниц:

<c:forEach items="${pagelist}" var="emp"> 

<td><a href="#?page=${emp}">${emp}</a></td> 
</c:forEach> 

Я не уверен, что поставить вместо #, чтобы сгенерировать событие для EventDispatchAction.Класс ActionClass для сбора представленных материалов приведен ниже:

public class SearchApplicationAction extends org.apache.struts.actions.EventDispatchAction {

      public ActionForward idSubmit(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {

    List applist = null; 

        SearchApplicationForm searchApp = (SearchApplicationForm) form;
        String idText = searchApp.getAppId();
        int appId = Integer.parseInt(idText);


        UserManager manager = new UserManager();
        applist = manager.ViewApplicationById(appId);

        sess.setAttribute("applicationList", applist);
        return mapping.findForward("idSubmit");

    }

      public ActionForward nameSubmit(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {

        List applist = null;

        SearchApplicationForm searchApp = (SearchApplicationForm) form;
        String name = searchApp.getApplicantName();


        UserManager manager = new UserManager();
        applist = manager.ViewApplicationByName(name);


        sess.setAttribute("applicationList", applist);
        return mapping.findForward("nameSubmit");
    }
}

Любая помощь в этом отношении будет очень полезной.Спасибо

Ответы [ 2 ]

0 голосов
/ 14 марта 2011

Спасибо, Мигель.На самом деле проблема не в использовании действий со ссылками, а в том, чтобы перехватить соответствующее событие.Когда пользователь нажимает на любую из опций поиска, событие обрабатывается в SearchApplicationAction.Но после разбивки на страницы результатов поиска я должен генерировать эти действия всякий раз, когда кто-то нажимает на номера страниц.Если я жестко закодирую действие в гиперссылке, то оно работает.

 <td><a href="searchApplication.do?nameSubmit&page=${emp}">${emp}</a></td>

0 голосов
/ 13 марта 2011

Вы можете использовать taglib Struts: <html:link>, чтобы создавать ссылки, связанные с действиями Struts.Смотрите это: http://struts.apache.org/1.x/struts-taglib/tagreference.html#html:link

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