0

私は完全な JSTL の道を進んでいる途中で、次のスクリプトレットに問題があります。変数の表示と条件を式言語 (EL) に変換済みですが、どうすればよいかわかりません。メソッド呼び出しでそれを行うには:htmlマークアップの前に配置された私のJSPコードは次のとおりです。 UserDTO user = (UserDTO) session.getAttribute("user");

        OrderDAO lnkOrder = new OrderDAO();
        OrderDTO order = new OrderDTO();

        CoverDAO lnkCover = new CoverDAO();
        CoverDTO cover = new CoverDTO();

        UpgradesDAO lnkUpgrades = new UpgradesDAO();
        UpgradesDTO upgrades = new UpgradesDTO();

        OrderAccessorieDAO lnkOrderAcc = new OrderAccessorieDAO();
        List<OrderAccessorieDTO> orderAccessories = new ArrayList<OrderAccessorieDTO>();

        GroupColorsDAO lnkColors = new GroupColorsDAO();
        List<ColorDTO> ColorList = new ArrayList<ColorDTO>();
        ColorList = lnkColors.getGroupColors(user.getGroup());

        AccessoryDAO lnkAcc = new AccessoryDAO();
        List<AccessoryDTO> groupAccessories = new ArrayList<AccessoryDTO>();
        groupAccessories = lnkAcc.getGroupAccessories(user.getGroup());

        ChangesDAO lnkChanges = new ChangesDAO();
        List<ChangeDTO> orderChanges = new ArrayList<ChangeDTO>();

        String CurrentOrder = request.getParameter("CurrentOrder");

        if (lnkOrder.exists(CurrentOrder)) {
            order = lnkOrder.find(CurrentOrder);
            cover = lnkCover.find(order.getReferenceNumber());
            upgrades = lnkUpgrades.find(order.getReferenceNumber());
            orderAccessories = lnkOrderAcc.getOrderAccessories(order.getReferenceNumber());
            orderChanges = lnkChanges.getOrderChanges(order.getReferenceNumber());
        }

ご覧のとおり、ほとんどのDAOおよびDTOオブジェクトであり、静的メソッドを使用してカスタムtaglibを作成できることはわかっていますが、それはメソッド呼び出しごとにコードを記述することを意味します。他のアプローチはありますか?提案は受け入れられます. (HTML マークアップ)の簡単な説明。VIEW指定された注文の詳細が表示されます。注文名はgetリクエストから抽出されます。

また、別の小さな質問があります。すべてを JSTL に移植するとします。各 DTO のゲッターとセッターにアクセスするには、対応するパッケージmyDTOとパッケージをインポートする必要がありますか?myDAO

よろしくトリシアン。

4

2 に答える 2

1

「JSTL 方式」は、モデル 2 のアプローチのように、ビューとロジックを完全に分離しないと意味がありません。

モデル 2 のアプローチでは、このコードを JSTL ページのコントローラーとして機能するサーブレットに移動し、ビュー マークアップにのみ JSP を使用します。そうでなければ、JSTL を使用して JSTL でロジックとビューを分離することは意味がありません。

于 2010-12-20T19:22:57.833 に答える
0

私が知っている唯一の回避策(汚い)は、メソッドを偽のマップとして公開することです。つまり、「Object getSomething(Object o)」のようなsigを持つメソッドがあります。このようにして、引数を渡すことができ、課せられた規則を回避できます。醜いが、それは動作します。

ただし、axtavtに同意します

于 2010-12-20T23:10:46.127 に答える