問題タブ [valuestack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hibernate - Struts2 アクションを使用した Hibernate トランザクション コンテキスト
Struts2 アクションがバックエンドからモデル オブジェクトをフェッチし、それを OGNL スタックに入れ、フロント エンド ビューがそのデータで更新されるというシナリオがあります。
次に、モデル オブジェクトに対応するビューの値を変更して更新します。次に、その値は Hibernate の getSession().update(model)
メソッドを使用して保存されます。
質問: モデル オブジェクトが OGNL スタックに読み込まれると、そのトランザクション コンテキストが閉じ、モデル オブジェクトが切り離されます。を使用して変更を保存できるのはなぜgetSession().update(model)
ですか? getSession().merge(model)
使うべきだと思います。
あいまいさを理解するのを手伝ってください。
java - struts2 でのリダイレクト アクション後のリストの入力
ログインに成功するindex.jsp
とリダイレクトされる があります。otl_homepage.jsp
ユーザーがログインしたときに、リストを表示する必要がありますotl_homepage.jsp
。私のstruts.xml
では、type="chain"
タイプを指定するか指定しないと、リストが取得されます。しかし、を使用するtype="redirectAction"
と、リストは null を返します。このリストを取得するにはどうすればよいですか? リストは、私の Java アクション クラスで維持されます。
struts.xml
こことJavaクラスを見つけてください
struts.xml:
Java クラス:
java - Struts 2 で単一のビューで複数のフォーム/アクションを使用する方法
すべてのページに表示される検索ボックスがあります。検索ボックスの JSP コードは、タイルを介してすべてのページに挿入されます。
検索ボックスにはフォームとアクション クラスSearchAction
があり、ドロップダウン ボックスのいくつかのプロパティをプリロードする必要があります。SearchAction
クラスには、この初期化を行うメソッドinput()
があります。
一部のページには、メイン領域に独自のフォームもあります。独自のアクション クラスもあります。また、input()
プリロードを行うメソッドもあります。
- 同じビューで 2 つのアクションを使用できますか?
- 各フォームが独自のアクションのプロパティにアクセスするにはどうすればよいですか。
- また、JSP がレンダリングされる前に、両方のアクション クラスの入力メソッドを呼び出すにはどうすればよいでしょうか?
アップデート:
私がやろうとしていることはおそらく明確ではないので、縮小した例を追加しています。register.jsp
の付いた登録ページRegisterAction
です。また、ページには検索フォームも含まれています。(ところで:私はそれを短くするためにアクションクラスのゲッター/セッターと他のものを省きました):
register.jsp
:
struts.xml
:
SearchAction.java
:
RegisterAction.java
:
action を呼び出すとしましょうinputRegister.action
。その後RegisterAction.input()
、呼び出されます。プロパティが設定されます。結果SUCCESS
はregister.jsp
レンダリングされます。
しかし、私の検索フォームはどうですか。検索アクションとそのモデルにアクセスするにはどうすればよいですか。それらのどちらもValueStack
当然のことではありません。SearchAction
また、モデルを初期化するためにメソッドを呼び出す方法もわかりません。私は意図的age
に両方のアクション クラスに参加することを選択します。レンダリングされたページでは、検索フォームも にアクセスしていることがわかりますRegisterAction-*.properties
(これは の上にあるためValueStack
)。ただし、アクセスする必要がありますSearchAction
。10 ではなく 20 を表示する必要があります。
私は明らかに間違っています。しかし、何度もグーグルで検索しても、正しい方法がわかりませんでした。
java - struts2 値スタックの実装
値スタックはStruts2の内部でどのように機能しますか、または値スタック上のオブジェクトが作成されるとき、それはインターセプターの実行前ですか、それともインターセプターの実行後ですか? また、オブジェクトが値スタックにプッシュされたときに、インターセプターによってゲッターとセッターがどのように呼び出されるのでしょうか?
jsp - Struts 2 で OGNL を使用して変数にアクセスするさまざまな方法は何ですか?
現在、OGNL を使用する Struts2 プロジェクトに取り組んでいます。OGNL を使用して JSP のデータにアクセスする方法は 3 つあります。
これらは何を行い、OGNL からデータにアクセスする他の方法はありますか?
jsp - JSP で Bean 内のオブジェクト プロパティを反復処理する方法
私はこれらの属性を持つリスト製品を持っています:
- 識別子
- 色
- サイズ
- サプライヤー
サプライヤー属性は、次の属性を持つオブジェクトです。
- 名前
- 電話
リスト内の各製品について、識別子とサプライヤー名を表示したいと思います。struts / jstl でこれを行うにはどうすればよいですか?
ここに私が成功していないものがあります:
java - ValueStack からアクションを削除するには?
アクションクラスをシングルトンにしようとしています。ポイントは、MVC パターンでアクション クラスを実際のコントローラーにすることです。特に REST コントローラーを実装する場合、コントローラーの範囲をアプリケーションの存続期間まで拡張できます。Spring フレームワークと同様に、コントローラーはデフォルトでデフォルト スコープに置かれます。Spring のデフォルト スコープはシングルトンです。
Struts 2 にもデフォルトのスコープがあり、これもシングルトンです。アクション クラスをこのスコープに配置し、値スタックから削除したいと考えています。
Struts 2 フレームワークを変更して、アクションを Spring のコントローラーのようにするにはどうすればよいですか? アクション クラスの管理を Spring に委譲できることはわかっていますが、デフォルト スコープを使用することはできず、Struts 2 コンテナーは引き続き実行されています。プラグインできないため、フレームワークから削除できません。
そのため、Spring と Struts2 コンテナーを歩き回っていますが、Struts 2 がインスタンス化してValueStack
.
これは私の質問です:
アクション クラスをデフォルト スコープに配置するために Struts 2 と Spring の間のコンテナーを選択した場合、Struts 2 フレームワークにそれらを配置しないようにするにはどうすればよいValueStack
でしょうか?