問題タブ [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.
java - struts2-値スタックを理解する
struts2の値スタックについて質問があります。RegisterAction
次のようにexecuteメソッドを持つActionクラスが呼び出されたとしましょう。
私のstruts.xmlは次のようになります。
したがって、executeメソッドがそのクラスで実行された後、制御はsuccess.jspに流れます。
私の質問は次のとおりです。
1)スタックにプッシュした値を取得するにはどうすればよいsuccess.jsp
ですか?
2)と呼ばれるアクションクラスにリダイレクトするがありsuccess.jsp
ます。つまり、[登録]ページで、ユーザーが[送信]をクリックし、の実行メソッドで「テスト文字列」をスタックにプッシュします。次に、に移動します。には、に移動するための送信ボタンがあります。で、スタックにプッシュした値はまだそこにありますか?どうすれば入手できますか?Eclipseデバッガーをステップ実行しましたが、値が表示されません。<s:submit method="testMethod" />
TestAction
RegisterAction
success.jsp
success.jsp
TestAction#testMethod
TestAction#testMethod
RegisterAction#execute
ありがとう。
struts2 - Struts2-同じ名前を共有するValueStackのさまざまなプロパティにアクセスする
Struts 2は、最初にValueStackの最上位オブジェクトに対してビューレンダリング中にすべてのプロパティ名を解決します。しかし、スタックの下位にあるオブジェクトの同じ名前のプロパティにアクセスするにはどうすればよいでしょうか。
例:
MyActionというActionクラスがあり、logDateプロパティがあるとします。このアクションが呼び出された後にレンダリングされたビューには、次のものがあります。
ここで、UserオブジェクトにもlogDateプロパティがあるとします。反復中、Struts 2は常に現在のユーザーオブジェクトをValueStackの最上位にプッシュし、それに対してすべてのプロパティ名を効果的に解決します。しかし、アクションからlogDateにアクセスしたい場合はどうなりますか?これを行う正しい方法は何ですか?
java - Struts 2 ラジオ ボタン リスト
Struts 2ラジオボタンに取り組んでいます。アクションクラスからリストを取得したいのですが、次のエラーが発生しています
org.apache.jasper.JasperException: タグ 'radio'、フィールド 'list'、名前 'user.yourGender': 要求されたリスト キー '#user.gender' をコレクション/配列/マップ/列挙/反復子として解決できませんでしたタイプ。例: people または people.{name} - [不明な場所]
私のアクションクラスとユーザークラスは次のとおりです
HelloAction
ユーザークラス
helloForm.jsp
hello.jsp
struts2 - アプリケーション全体の ValueStack ライフサイクルは struts2 ですか?
いくつかの方法でプロパティを設定できValueStack
ます。
これらすべての値を JSP、freemarker、および Java のように取得できるようにする必要があります
この4つの設定方法それぞれのライフサイクルについて知りたいです。アプリケーション全体ですか。ValueStackはリクエストごとに作成され、アプリケーションとセッションの値はリクエストごとに設定されていますか?
4番目の方法が最も一般的なアプローチであることは知っていますが、アクションクラスに簡単にアクセスできないすべての場所でそれを使用しているわけではありません.
JSP でのアクセスについて別の疑問があります
stack.getContex().put()
また、 と の両方で5 番目のポイントがどのように機能するかを知りたいstack.set()
です。私がアクセスしている6番目のresultDTOは別のルートであり、7番目ではデフォルトルートの子であるValueStackであることを理解しています。8 番目では、デフォルトのルートから検索を開始します。
http://struts.apache.org/2.0.11.1/docs/ognl.html、http://struts.apache.org/2.1.2/struts2-core/apidocs/com/opensymphony/xwork2/utilを調べました/ValueStack.htmlとかなり混乱このリンクhttp://www.opensymphony.com/ognl/html/DeveloperGuide/introduction.html#embeddingOGNL
これらすべてを言ったので、URLを?debug=browserstack.getContext().put()
に設定することで値を明確に確認できるため、メソッドを使用する傾向はほとんどありません。私が間違っている場合は、私に助言してください。
struts2 - Struts2のValueStackはどのように機能しますか?
次のコードを検討してください。
ここで、JSPでアクセスしようとすると、上記の属性のどれが値スタックに含まれますか?通常のスタックのように機能しますか?つまり、読み取った属性をプッシュし続けますか?
struts2 - struts 2 の値スタックに関するいくつかの基本的なクエリはありますか?
私はstruts 1.2に取り組んできましたが、strut 2は初めてです。既存のプロジェクトjspファイルの1つに、次のコードがあります。
CustomerRelationAction.java
メソッドgetCustomerRelations()
とを持つリクエストが来ていgetRelationId()
ます。
ここに質問があります:-
メソッド内にブレークポイントを配置
getCustomerRelations()
しました。このメソッド内でフローが 4 回来ていることがわかります。行 3 で 2 回、行 4 で別の 2 回。それは次に参照されますか (14 行目で再び参照されているように)?getCustomerRelations()
メソッドは、クラスにもメソッドが含まれているCustomerRelationData
オブジェクトのリストを返します。5 行目で、5 行目で value="relationId を参照しています。どのオブジェクト (CustomerRelationAction.java または CustomerRelationData) で、getRelationId() メソッドが呼び出されますか?リスト オブジェクト CustomerRelationData が値スタックに存在するかどうかわからない?存在する場合、どの行に値スタックに配置されるか?CustomerRelationData
getRelationId()
これでイテレータは 6 行目で完了します。その後、
<s:property value="relationId" />
もう一度コードを参照します。どちらのオブジェクト (CustomerRelationAction.java または CustomerRelationData) で getRelationId() メソッドが呼び出されますか
java - Struts2ではデータはどのように移動しますか?
Struts2内でデータがたどるパスを理解しようとしていますが、データはどのようにValueStackに配置されますか?現在ValueStackに存在するオブジェクトを確認するにはどうすればよいですか?さまざまなスコープのアプリケーション、セッション、リクエスト、ページから他にどのようなデータにアクセスできますか?変数が持つべきスコープを決定する方法は?
java - Struts イテレータ内で ValueStack オブジェクトにアクセスする方法は?
私は次のコードを持っています:
reviews は、評価やユーザー名などのレビューの詳細を含むレビュー オブジェクトのリストです。
私の問題は、ループ内の ValueStack に存在するオブジェクトにアクセスできないことです。
ループの外側は<s:property value="#request.restaurant.portalImage.url" />
正しく動作します。ただし、ループ内では null が出力されます。
私の知る限り、反復子はそのコレクションを ValueStack にプッシュして、すべての OGNL 式がそれに対して解決されるようにします。しかし、# を使用しました。これは、解決のためにルート オブジェクトを明示的に指定していることを意味します。
なぜまだ機能していないのですか?
struts2 - 2つの異なるStrutsアプリに同じValueStack
sruts 2(2.1.8.1)アプリケーションをjboss AS(5.1.0-GA)で実行しています。a.warとb.warを同じ/server/ default / deployパスに配置し、struts2libsを/server/ default/libパスに配置します。
アプリまたはサーバーにエラーメッセージはありませんが、何らかの理由でhttp:// localhost:8080 / b /と入力すると、b.jspページが表示され、アプリケーションのメッセージリソースにメッセージが表示されます。
だから、私の質問は、サーバーの/libにstrutsjarを配置すると、すべてのアプリケーションが同じものを使用する必要がある値スタックのインスタンスが1つだけ作成されるということです。もしそうなら、アプリケーションごとに異なるインスタンスを作成するために何ができますが、jarをサーバーpahtに保持しますか?
ストラットジャーを戦争に戻す必要がありますか?
ありがとう
strutsタグを使用してシステムタイトルを取得するim
これはa.warの私の設定です:
/WEB-INF/classes/a-message-resources.properties
struts.xmlで私は持っています
これはb.warの構成です
/WEB-INF/classes/b-message-resources.properties
struts.xmlで私は持っています