1

まず第一に、私はStrutsの初心者です。私はクラスを持っています:

public class Articulo {

private int codigo;
private String descripcion;

public int getCodigo() {
    return codigo;
}
public void setCodigo(int codigo) {
    this.codigo = codigo;
}
public String getDescripcion() {
    return descripcion;
}
public void setDescripcion(String descripcion) {
    this.descripcion = descripcion;
}

}

ディスパッチャに値が入力されます。コーディネーターで私は

private Articulo articulo;
.......
public Articulo getArticulo() {
    return articulo;
}

public void setArticulo(Articulo articulo) {
    this.articulo = articulo;
}

とのJSPもあります

<s:property value="articulo"/>

アーティキュロを読んでください。アーティキュロも動作します

<s:property value="articulo.codigo"/>

しかし今、私はそのjspからオブジェクトarticulo全体を別のアクションに転送したいと思います。できます

<s:hidden name="articulo.codigo" value="%{articulo.codigo}"/>
<s:hidden name="articulo.descripcion" value="%{articulo.descripcion}"/>

それはうまくいきますが、とにかく何かをすることはありますか

<s:hidden name="articulo" value="%{articulo}"/>

それで、オブジェクトのすべてのプロパティを設定せずに、JSPからオブジェクトを取得する方法はありますか?

4

3 に答える 3

2

2つのポイントがあります:

  1. 問題: すべてのパラメーターを使用してオブジェクトを転送できません<s:hidden />。HTTP で転送されるものは文字列でなければなりません。このオブジェクトは String に変換できないため、HTTP を使用して転送することもできません。

  2. 解決策: オブジェクトをセッションに入れて、いつでもアクセスできるようにします。ここに例があります

于 2012-09-19T14:14:15.907 に答える
0

はい、オブジェクトをパラメーターで転送するか、セッションに保存して必要なときにいつでもアクセスできます。

<jsp:forward page="URL" >
  <jsp:param name="ParamName1" value="YourObject" />
</jsp:forward>

詳しくはこちらをご覧ください。 http://www.gulland.com/courses/jsp/actions/forward

于 2012-09-19T14:28:37.093 に答える
0

オブジェクト情報をセッションに保持することは、通常、推奨される方法です。

ただし、代わりのオプションは、独自のType Converterを作成することです。

StrutsTypeConverter を拡張して型コンバーターを作成します。コンバーターの役割は、文字列をオブジェクトに、オブジェクトを文字列に変換することです。

そうすることで、次のようなことができます<s:hidden name="articulo" value="%{articulo}"/>

このメソッドは安全ではないことに注意してください。オブジェクトの値は非表示のタグに文字列として出力され、ブラウザーで表示できるからです。

しかし、利点は、この方法が必要な場合に、異なるセッション間で機能することです。

于 2012-09-19T15:43:08.147 に答える