2012-02-09 2 views
0

Я новичок в структурах, поэтому прошу прощения, если я не использую правильные термины или не слишком расплывчаты.Запуск нескольких действий из одного запроса в Struts

У меня есть несколько форм на странице. У меня есть свойство действия каждой формы, связанное с отдельными действиями в struts-config. Представление каждой формы работает правильно. Но я также хотел бы заполнить все формы при загрузке страницы.

Я попытался создать несколько s в конфигурации struts, все с одним и тем же путем, но каждый с разными свойствами типа. Но только окончательный, кажется, выполняется. Есть ли способ, которым я могу выполнить все эти действия, или есть способ заставить действие инициировать другие действия или что-то в этом роде? Я бы просто создал один контроллер установки, но вы можете привязать только одну форму к действию, поэтому я не думаю, что это сработает.

Я думаю, что я использую Struts 1.

+0

Зачем вы хотите это сделать? Вероятно, было бы неплохо выяснить, какую версию вы используете, так как это совершенно разные рамки. –

ответ

0

Не уверен, если данные формы связаны между собой, но даже если его нет, но одна стратегия, которая может работать реализует базы данных, например:

public class DataAction extends ActionSupport 
{ 
    private Data1 data1 = new Data1() // or whatever strategy of populating data 
    public Data1 getData() { return data1 } 
    public void execute() 
    { 
     // any common execution code 
    } 
} 

, а затем продлить действие для каждой формы

public class Form1Action extends DataAction 
{ 
    public void execute() 
    { 
    super.execute(); 
    // unique execution code 
    } 
} 

затем со страницы JSP, просто вызовите объект данных (ы) для каждой формы, так как они будут унаследованы образуют базовый класс. В ситуациях, когда вы не хотите загружать объект данных по каждому запросу Action, вы можете просто использовать некоторую логику в базовом классе Data и иметь расширяемый класс, используя эту логику, чтобы решить, нужно ли предварительно заполнять этот объект данных.

Другой стратегией является создание индивидуального процесса действий во всех ваших формах. Опять же, это имеет смысл только в зависимости от ваших данных и вашего дизайна. Если они не связаны логически, не объединяйте их в одно действие.

+0

Также лучший вопрос, который задал Дэйв выше, почему вы хотите это сделать. Я могу представить несколько вариантов использования, но это может быть не ваше дело. В зависимости от вашего дизайна и данных даже предложенное выше решение Struts2 может быть совершенно неуместным. – KappaMax

Смежные вопросы