問題タブ [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.

0 投票する
5 に答える
34668 参照

java - struts2-値スタックを理解する

struts2の値スタックについて質問があります。RegisterAction次のようにexecuteメソッドを持つActionクラスが呼び出されたとしましょう。

私のstruts.xmlは次のようになります。

したがって、executeメソッドがそのクラスで実行された後、制御はsuccess.jspに流れます。

私の質問は次のとおりです。

1)スタックにプッシュした値を取得するにはどうすればよいsuccess.jspですか?

2)と呼ばれるアクションクラスにリダイレクトするがありsuccess.jspます。つまり、[登録]ページで、ユーザーが[送信]をクリックし、の実行メソッドで「テスト文字列」をスタックにプッシュします。次に、に移動します。には、に移動するための送信ボタンがあります。で、スタックにプッシュした値はまだそこにありますか?どうすれば入手できますか?Eclipseデバッガーをステップ実行しましたが、値が表示されません。<s:submit method="testMethod" />TestActionRegisterActionsuccess.jspsuccess.jspTestAction#testMethodTestAction#testMethodRegisterAction#execute

ありがとう。

0 投票する
1 に答える
2182 参照

struts2 - Struts2-同じ名前を共有するValueStackのさまざまなプロパティにアクセスする

Struts 2は、最初にValueStackの最上位オブジェクトに対してビューレンダリング中にすべてのプロパティ名を解決します。しかし、スタックの下位にあるオブジェクトの同じ名前のプロパティにアクセスするにはどうすればよいでしょうか。

例:

MyActionというActionクラスがあり、logDateプロパティがあるとします。このアクションが呼び出された後にレンダリングされたビューには、次のものがあります。

ここで、UserオブジェクトにもlogDateプロパティがあるとします。反復中、Struts 2は常に現在のユーザーオブジェクトをValueStackの最上位にプッシュし、それに対してすべてのプロパティ名を効果的に解決します。しかし、アクションからlogDateにアクセスしたい場合はどうなりますか?これを行う正しい方法は何ですか?

0 投票する
1 に答える
8932 参照

java - Struts 2 ラジオ ボタン リスト

Struts 2ラジオボタンに取り組んでいます。アクションクラスからリストを取得したいのですが、次のエラーが発生しています

org.apache.jasper.JasperException: タグ 'radio'、フィールド 'list'、名前 'user.yourGender': 要求されたリスト キー '#user.gender' をコレクション/配列/マップ/列挙/反復子として解決できませんでしたタイプ。例: people または people.{name} - [不明な場所]

私のアクションクラスとユーザークラスは次のとおりです

HelloAction

ユーザークラス

helloForm.jsp

hello.jsp

0 投票する
1 に答える
3175 参照

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.htmlhttp://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()に設定することで値を明確に確認できるため、メソッドを使用する傾向はほとんどありません。私が間違っている場合は、私に助言してください。

0 投票する
2 に答える
4324 参照

struts2 - Struts2のValueStackはどのように機能しますか?

次のコードを検討してください。

ここで、JSPでアクセスしようとすると、上記の属性のどれが値スタックに含まれますか?通常のスタックのように機能しますか?つまり、読み取った属性をプッシュし続けますか?

0 投票する
1 に答える
514 参照

struts2 - struts 2 の値スタックに関するいくつかの基本的なクエリはありますか?

私はstruts 1.2に取り組んできましたが、strut 2は初めてです。既存のプロジェクトjspファイルの1つに、次のコードがあります。

CustomerRelationAction.javaメソッドgetCustomerRelations()とを持つリクエストが来ていgetRelationId()ます。

ここに質問があります:-

  1. メソッド内にブレークポイントを配置getCustomerRelations()しました。このメソッド内でフローが 4 回来ていることがわかります。行 3 で 2 回、行 4 で別の 2 回。それは次に参照されますか (14 行目で再び参照されているように)?

  2. getCustomerRelations()メソッドは、クラスにもメソッドが含まれているCustomerRelationDataオブジェクトのリストを返します。5 行目で、5 行目で value="relationId を参照しています。どのオブジェクト (CustomerRelationAction.java または CustomerRelationData) で、getRelationId() メソッドが呼び出されますか?リスト オブジェクト CustomerRelationData が値スタックに存在するかどうかわからない?存在する場合、どの行に値スタックに配置されるか?CustomerRelationDatagetRelationId()

  3. これでイテレータは 6 行目で完了します。その後、<s:property value="relationId" />もう一度コードを参照します。どちらのオブジェクト (CustomerRelationAction.java または CustomerRelationData) で getRelationId() メソッドが呼び出されますか

0 投票する
2 に答える
1058 参照

java - Struts2ではデータはどのように移動しますか?

Struts2内でデータがたどるパスを理解しようとしていますが、データはどのようにValueStackに配置されますか?現在ValueStackに存在するオブジェクトを確認するにはどうすればよいですか?さまざまなスコープのアプリケーション、セッション、リクエスト、ページから他にどのようなデータにアクセスできますか?変数が持つべきスコープを決定する方法は?

0 投票する
4 に答える
4448 参照

java - Struts イテレータ内で ValueStack オブジェクトにアクセスする方法は?

私は次のコードを持っています:

reviews は、評価やユーザー名などのレビューの詳細を含むレビュー オブジェクトのリストです。

私の問題は、ループ内の ValueStack に存在するオブジェクトにアクセスできないことです。

ループの外側は<s:property value="#request.restaurant.portalImage.url" />正しく動作します。ただし、ループ内では null が出力されます。

私の知る限り、反復子はそのコレクションを ValueStack にプッシュして、すべての OGNL 式がそれに対して解決されるようにします。しかし、# を使用しました。これは、解決のためにルート オブジェクトを明示的に指定していることを意味します。

なぜまだ機能していないのですか?

0 投票する
1 に答える
563 参照

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で私は持っています