問題タブ [wicket]
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 - 既存の Apache Wicket フレームワークのサンプルはありますか?
Wicketを使用して、データベース ストレージを備えた Web サイトを構築する予定です。私は以前にウィケットを使用したことがありません。開始できるサンプル フレームワークはありますか?
wicket - Wicket テストの startPanel(Panel) と PageParameters - どのように設定しますか?
現在、WicketTester の startPanel メソッドを使用してパネルをテストしています。これらのパネル内では、getPage().getPageParameters() を使用して PageParameters を使用してデータにアクセスすることがよくあります。ただし、startPanel メソッドは DummyPage のページ パラメータを初期化しません。また、ページ パラメータを設定する機能も提供しません。
パネル テスト中にページ パラメータを設定するにはどうすればよいですか?
java - ウィケットコンポーネントIDベストプラクティブ
遊んでみたばかりですが、誰もがコンポーネントIDをどのようにリンクしていますか?
これまでのところ、最も頻繁に発生するエラーは、コンポーネントIDの不一致です。例えば、
HTMLで
とJava側で
それが助けになるなら、私はmaven/IntelliJセットアップで実行しています。ありがとう!
java - Web コンテナー (Tomcat など) がリロード、アンロード、またはシャットダウンしていることを Web アプリケーションに通知できますか
Tomcat で Wicket Web アプリケーションを実行しています。アプリケーションは、(org.springframework.web.context.ContextLoaderListener を介して) Spring を使用してアプリケーションを初期化します。これは起動には問題ありませんが、生成されたスレッドをシャットダウンできるように、コンテキストが破棄されているという何らかの通知を受け取ることも望んでいます。そのような通知を受け取る方法はありますか? 私の質問の理解を助けるために、私のアプリケーションからの抜粋を含めました.
web.xml 抽出
Spring applicationContext.xml
MyWebApp.java 抽出
MyWebServiceAppImpl.java 抽出
java - Wicket: 長時間実行されるタスクを処理する方法
Wicket + Hibernate + Spring Web アプリケーションをセットアップしました。これには、いくつかのデータを収集し (いくつかのファイルを生成して返す)、これをデータベースに保存し、いくつかの画像を作成し、これらすべてを Web ページに表示します。
これは短時間の実行ではすべて正常に機能しますが、データの収集 (リモートでの数の計算を含む) に時間がかかりすぎて (20 分以上)、タイムアウトになることがあります。2 つのアプローチを使用してこれを解決しようとしましたが、どちらもいくつかの問題を示しています。
最初のアプローチは、AjaxLazyLoadPanelを使用し、getLazyLoadComponent 内ですべてを行うことでした。これは短時間の実行では問題なく機能しましたが、20 分以上の実行では、タイムアウトのために LazyLoadComponents がロードされませんでした (矛盾した表現です)。
2 番目のアプローチでは、期間が 10 秒に設定されたAjaxSelfUpdatingTimerBehaviorが追加された中間 Fragment を作成し、 数値計算で作成されたファイルをポーリングしました。これにより、タスクがバックグラウンドで問題なく実行されるように見えますが、返されたデータをデータベースに保存する必要がある場合は失敗します。Open Session in View パターンを使用していますが、20 分後にデータを保存しようとすると失敗するのではないでしょうか?? (解決策はこれを解決することにあります..)。
上記の問題により、これらの長時間実行されるタスクを処理するための代替アプローチを調べているところ、次のようになりました。
これらのいずれかが、タスクの実行とその後のデータベースへのデータの保存の両方で発生しているタイムアウトの問題を解決するのに適しているかどうか、または誰かがこれに役立つ他のソリューションを持っているかどうか疑問に思っています状況。
結局うまくいかないかもしれない何かを実装するために別の日を費やす前に、新しいアプローチが実行可能かどうかを知りたいです。
敬具、
ティム
security - Wicket、Spring、および JPA を使用して作成された Web アプリケーションをどのように保護すればよいですか?
そのため、Wicket 1.4 フレームワークを使用する Web ベースのアプリケーションがあり、Spring Bean、Java Persistence API (JPA)、および OpenSessionInView パターンを使用しています。私は宣言型のセキュリティ モデルを見つけたいと思っていますが、XML 構成のゴブを必要としません。私は注釈を好みます。
これまでのオプションは次のとおりです。
Spring Security (ガイド) - 完全に見えますが、それを Wicket と組み合わせたすべてのガイドは今でも Acegi Security と呼ばれているため、古いものに違いないと思います。
Wicket-Auth-Roles (ガイド 1およびガイド 2 ) - ほとんどのガイドでは、これを Spring Security と組み合わせることが推奨されており、@Authorize("ROLE1","ROLE2",etc) の宣言型スタイルが気に入っています。私はすでに org.apache.wicket.protocol.http.WebApplication を拡張しており、Spring はすでに org.apache.wicket.spring.SpringWebApplicationFactory の背後でそれをプロキシしているため、AuthenticatedWebApplication を拡張する必要があることを懸念しています。
SWARM / WASP (ガイド) - これは最新のように見えますが (主な貢献者は何年も前に亡くなっています)、プリンシパルのアクセス許可を宣言する JAAS スタイルのテキスト ファイルはすべて嫌いです。また、ユーザーがやりたいことすべてに対して Action クラスを作成するという考えも好きではありません。安全なモデルもすぐにはわかりません。さらに、Authn の例はありません。
さらに、多くの人が最初のオプションと 2 番目のオプションを混在させることを推奨しているようです。ただし、ベストプラクティスが何であるかはまったくわかりません。
extjs - ExtJSとWicketの混合
WicketとExtJSに関連する問題があります。Ext JSにテキストフィールドがあり、それにWicketIDを追加したいと思います。Ext JSでは、テキストフィールドのプロパティが制限されています。これどうやってするの?
java - Component.outputMarkupId をデフォルトで false に設定する設計上の決定は何ですか?
Apache Wicket Web フレームワークでは、すべてのコンポーネントがデフォルトで getOuputMarkupId() から false を返します。
その理由が気になります。背後にあるデザインの決定。
私は ajax コンポーネントを使用しており、ページ上の他のコンポーネントを更新する必要があります。そのためには、ajax ページの更新に関係するすべてのコンポーネントで setOutputMarkupId(true) を使用する必要があります。私は ajax を頻繁に使用するため、頻繁に使用する必要があります。そして、それはあまり便利ではありません。「最良のコードは、まったくコードがないことです」のほかに。
私はこのようにそれを扱うことができます:
しかし、トレードオフはありますか?私の頭に浮かぶ唯一のトレードオフは次のとおりです。
- レンダリングされたページ (html) が大きい
- レンダリングのオーバーヘッドがいくらかあります (つまり、id 属性が html に書き出される場合)
しかし、それらはフットプリントが小さいだけです。
unit-testing - Wicket を使用した単体テストで戻る/進む/更新ボタンをシミュレートする
ブラウザの戻るボタン(または進むまたは更新)がクリックされたときのページの動作を単体テスト(jUnit 4)したいと思います。
単体テストでブラウザの戻る/進む/更新ボタンをシミュレートできますか? そのような機能を提供するユーティリティ クラスはありますか?
2回目の編集:
Wicket のテスト機能は、完全な履歴を持つブラウザーをシミュレートしないことを理解しています。私の理解では、単体テストからブラウザーの動作をシミュレートするには、次の 2 つのものが必要です。
WicketTester.startPage()
(1) Wicket は、またはを呼び出したときに、正確な要求 (URL など) を通知する必要がありWicketTester.clickLink()
ます。
(2) Wicket は、(1) によって以前に記録された URL を受け入れるなど、同じ要求を再度処理する必要があります。
などと互換性のある方法でこれを行いたいと考えています。これらのクラスでコンポーネント ファインダー、アサートWicketTester
、FormTester
およびその他の優れた機能を使用しているためです。つまり、HttpUnit / HtmlUnit / Selenium などの外部クライアントからではなく、Wicket 機能からリクエストを発行する必要があります。
java - Wicket Web 開発に関する優れたリソースを知っている人はいますか?
私は最近、別の会社に入社するために退職した同僚から Web プロジェクトを「継承」しました。残念なことに、私たちにとって彼は唯一の Java 開発者だったので、ここのオフィスには私を助けてくれる人がいません。
このプロジェクトは Wicket フレームワークを使用して作成されていますが、これは私がよく知っているものではありません (多くの ASP.NET と少しの PHP を使用しました)。物事がどのように機能しているかを理解するのに非常に苦労しています...
フォームのインスタンス化には、フォームが操作するためのオブジェクトが含まれているようですが、それが唯一の参照です。HTML フォームからオブジェクトへのすべての値の更新は、まるで魔法のようです!
とにかく...余談...
私はいくつかのものをグーグルにしようとしましたが、それは私の頭の上にずっとあります. 読み込み時にページが壊れることなく、ページにもう 1 つのコントロールを追加するだけで丸 1 日かかりました。ページを壊さずに送信するには、おそらく明日までかかるでしょう。誰かがチュートリアルまたは非常に初心者レベルの方向に私を向けることができますか?