Struts2: атрибут метода в кнопке <s: submit> не работает

У меня есть форма в JSP. Есть две кнопки отправки:Поиск" а также "Добавить новое" кнопка. Я установил для каждой кнопки свой атрибут метода.


    
    

    
    

В Struts.xml






    
    

    

        

        
            /error.jsp
        

        
            
        

    

    

        
           /example/search.jsp
           /example/add.jsp
        

    

В классе EmployeeAction

public class EmployeeAction extends ActionSupport {

    private static final Logger logger = Logger.getLogger(EmployeeAction.class);

    @Override
    public String execute() throws Exception {    
        logger.info("Calling execute!");    
        return SUCCESS;
    }

    public String doSearch() throws Exception {    
        logger.info("Calling doSearch!");    
        return "search";
    }

    public String doAddNew() throws Exception {    
        logger.info("Calling doAddNew!");    
        return "add";
    }
}

Проблема в том, когда я нажал "Поиск" или же "Добавить новое" кнопка, методdoSearch () или жеdoAddNew () никогда не вызывался, вместо этого вызывался методвыполнить (), Что не так с моим кодом выше? Я '

м с помощью распорок v2.3.

 Andrea Ligios11 нояб. 2012 г., 23:25
метод s: form это http метод, метод s: submit это Struts2 Action метод
 Jaiwo9911 нояб. 2012 г., 23:20
method не должно значить?POST or GET

Ответы на вопрос(1)

Решение Вопроса

Задавать


в


Другой способ - определить несколько отображений для одного и того же действия, например

в JSP:



в Struts.xml


       /example/search.jsp


       /example/add.jsp

Третий способ заключается в использованииПодстановочные знаки.

П.С .: Если вы пойдете на второй, яЯ рекомендую использовать одно действие для каждого логического действия, которое вам нужно выполнить ...

Если у вас есть общие данные, загруженные / управляемые обоими вашими действиями, "поиск" а также "Добавить новое"затем вы можете определить employeeBaseAction, расширенный как employeeSearchAction, и employeeAddNewAction.

РЕДАКТИРОВАТЬ

Это'с 2014 года иИспользование DMI единодушно не рекомендуется (сегодня больше, чем когда-либо), кроме довольно бесполезных, поэтому ясильно Предлагаю использовать решение № 2.

 Andrea Ligios30 июл. 2015 г., 21:44
@suud 3-й и 4-й фрагменты кода
 null30 июл. 2015 г., 18:58
Что такое ?n.2

Ваш ответ на вопрос