Преобразование типа Struts2 xwork — несколько разных параметров в один объект

#struts2 #type-conversion

#struts2 #преобразование типов

Вопрос:

Возможно ли преобразовать разные параметры в один объект в вашем действии?

Скажем, из моей HTML-формы я передаю переменные «firstname», «lastname». Могу ли я написать конвертер типов, который преобразует их в объект Person в моем действии?

Я не видел никаких примеров этого, и я не вижу API. Я не понимаю, как я могу получить доступ к стеку значений в StrutsTypeConverter, чтобы получить доступ к другим переменным.

Спасибо!

Ответ №1:

Пример :

 // JavaBeans
public class Person {
    @Getter @Setter private String firstname;
    @Getter @Setter private String lastname;
}
  

 // Action
@Setter private Person person;
  

 // form
<s:form>
  <s:textfield name="person.firstname" />
  <s:textfield name="person.lastname" />
</s:form>
  

Аналогичный пример: vaannila: объект домена как свойство JavaBeans

Ответ №2:

Я согласен с тем, что сказал lschin.вы можете использовать комбинацию сборки в OGNL и стеке значений для достижения желаемого. тем не менее, если вам нужен какой-то конкретный механизм преобразования типов, вот подробности из документов Struts2

Преобразование типа Struts2