1

struts2でプロジェクトをやっています。広告のリストがあります。追加の詳細情報が記載された広告テーブルがあります。追加のリストを表示したい。

だから私はこれを実装するためのより良い解決策を知りたいですか?

  1. アクションクラスでは、オブジェクトをフェッチしてリストオブジェクトに格納し、このリストオブジェクトをリクエストrequest.setAttribute(list);に設定します。

    およびjspページで取得および表示

  2. オブジェクトをフェッチし、スクリプトレット<%%>を使用してjspページに表示します

これを行うためのベストプラクティスを教えてください。

4

3 に答える 3

3

次の理由により、最初の方が優れています。

  • jsp ファイルの Java コードは悪 (html+javascript+jstl タグ mb+java コード = 保守が難しい)
  • jspは単なるビュー(MVCパターン)であり、ビューのロジックは悪い考えです
于 2012-08-06T06:05:21.967 に答える
3

S2 は、リクエストとレスポンスでオブジェクトを設定およびフェッチするためのよりエレガントで柔軟なアプローチを提供しているため、上記のいずれも実行しないことをお勧めします。

このアプローチに従うことができます。

アクションクラスで、セッターとゲッターを含むリストを作成し、オブジェクトに入力したいデータを入力します

public class MYActionClass extends ActionSupport{

  private List<Data Type as per your need> myList;
  // getters

  public String execute() throws Exception{

    // you logic
    myList=fill list with the data
  }
}

上記のコードにより、S2 は に配置できるようmyListvalueStackなり、OGNL を使用して JSP にデータをフェッチできます。

あなたのjspでは、OGNLを使用してリストにアクセスする方法がすべてあります.JSPでデータにアクセスする方法や方法について言及していないため、リストデータにアクセスする方法を提案することはできませんが、OGNLを使用するのは非常に簡単です前方イテレータ

私はOGNLのbasiscを見ていることを勧めします.

データにアクセスするためのより適切で柔軟な方法があるため、スクリプトレットを使用しないでください

于 2012-08-06T06:10:48.737 に答える
3

最初の1つ。JSP でスクリプトレットを使用することは避けるべきです。これは非常に醜い慣行であり、MVC パターンに違反するためです。代わりに、JSP タグ、特にJSTLタグを使用する必要があります。また、Struts を使用している場合は、Struts が提供するタグが他にもあります。

タグでやってはいけないことがあるということは、やってはいけないということですので注意してください。

于 2012-08-06T06:11:58.703 に答える