Struts2 будет работать одинаково, независимо от того, собираетесь ли вы вызывать действие, используя Ajax или обычный способ отправки.
Framework позаботится о переносе данных в ваш класс действия и выполнит преобразование типа для вас, так чточто вы можете сосредоточиться на своей бизнес-логике.
Вам не нужно возиться с объектом запроса, так как Struts2 предоставит вам параметры запроса в чистом виде. Во фреймворке есть встроенный механизм, называемый interceptors которая сделает большую часть работы за вас.
Существует перехватчик с именем Param interceptor
, который позаботится о предоставлении данных запроса вашему классу действий.
Все, что вам нужно сделатьпозаботьтесь о следующих вещах.
- Поместите одноименное свойство в свой класс действий, который вы отправляете из JSP с помощью метода получения и установки.
например, если вы хотите отправитьнесколько объектов из вашего JSP говорят
- имя.
- возраст
- пол
вашего пользователя, все, что вам нужнодля этого нужно объявить эти три свойства в вашем классе действий с помощью getter и setter, чтобы ваш класс действий выглядел как
Public Class MyAction extends ActionSupport{
private String name;
private int age;
private String sex;
getter and setter for these properties
public String execute() throw Exdeption{
// Your business logic goes here
// can use above properties
return SUCCESS;
}
}
Теперь, когда вы нажмете кнопку отправки со своей страницы JSP или отправите любой AjaxПлатформа запроса вступит в действие и увидит, какие все параметры запроса у нее есть и к какому действию относится запрос (на основе struts.xml
). Она проверит действие, если оно имеет то же имя свойства, которое вы определили на странице jsp.если да, он попытается установить значения с помощью метода установки этого свойства, и если значение необходимо преобразовать, он выполнит преобразование типа для вас (Struts2 выполнит преобразование типа из коробки для некоторого типа).
Таким образом, если вы отправляете age
в запросе, он будет искать свойство, а именно age
в вашем классе действий, и затем попытается установить значение в свойстве age, используя его метод установки.
Когда вам нужно отправить значение обратно в JSP/View
, все, что вам нужно сделать, это установить значение в свойстве и пр.ovide его метод получения.
Открытый класс MyAction расширяет ActionSupport {private String userName;
getter and setter for these properties
public String execute() throw Exdeption{
userName="Sachin Kumar Rath";
return SUCCESS;
}
}
Так что в вашем JSP все, что вам нужно сделать, это как
Hello ${Username}
Так что получается, что при использовании этого ${Username}
Strust2 будет использовать OGNL(EL language)
и вызовет метод getUserName()
в вашем классе действий, чтобы получить значение свойства userName
.
Надеюсь, это поможетвы.