0

こんにちは、このコードの重複コードを回避する方法が存在するかどうかを知りたいです。これで、CustomerAction という名前のアクション クラスがあり、このクラスはリクエストの動作を処理します (コントローラーのようなものです)。id、name、last_name などの属性を持つ CustomerPOJO があります。送信されたデータを処理するために、CustomerAction に属性を追加する必要があります。フォームから。CustomerPOJO でアクションをバイパスする方法はありますか?

public class CustomerAction {

private String nombre;
private String apellido;
private String dni;
private String fechaNac;
private String obraSocial;
private String nroAsociado;
private String plan;
private String password;
private String email;
private String telParticular;
private String telCelular;

private static final Log log = LogFactory
        .getLog(CustomerAction.class);

public String execute() throws Exception {
    if ("cancelar".equals(this.getAccion())) {
        log.debug("Executing 'cancelar' action");
        return "login";
    }

    if ("registro".equals(accion)) {
        log.debug("Executing 'registro' action");
        IReferenceDataBusinessDelegate ud = new ReferenceDataBusinessDelegate();
        ud.signCustomer(this.getNombre(), this.getApellido(),
                this.getDni(), this.getCorreo(), this.getContrasena());

        return "login";

    }
}

public class Customers implements java.io.Serializable {

private long id;
private String dni;
private String name;
private String lastName;
private String email;
private String password;
private String phone;
private String cellphone;
private Date birthDate;
private Date creationDate;
private Date lastAccessDate;
private byte active;
private Set<Profesionales> profesionaleses = new HashSet<Profesionales>(0);
private Set<Pacientes> pacienteses = new HashSet<Pacientes>(0);

public Customers() {
}
}
4

1 に答える 1

2

はい、を使用し、モデルとしてModelDrivenを使用します。Customers

http://struts.apache.org/2.x/docs/model-driven.html

"modelDriven"インターセプターがスタックにあることを確認する必要があります。

モデルを初期化する方法/場所は、特定の使用シナリオによって異なります。ドキュメントに示されているようにゲッターでprepare()、DBからリロードする必要がある場合のメソッドなどでそれを行うことができます。

「アクションをバイパスする」とはどういう意味かわかりません。

ここで実装されたアドホックディスパッチメカニズムは、アクション構成の属性をaccion使用してStruts2によって提供される機能を複製することに注意してください。methodプログラムフローの理解が必要以上に難しくなるため、アドホックディスパッチメカニズムの使用はお勧めしません。

于 2013-01-30T19:08:17.437 に答える