2017-08-09 3 views
0

検索可能なフィールドと結果テーブルを持つ検索コンポーネントがあります。 WCMUsePojoクラスは、検索ロジックを備えています。 ページが読み込まれると、すべてのデータが表示され、検索ボタンをクリックすると、検索条件に対応するデータが表示されます。 私の目に見えるhtmlページとaction = "get"にform要素を追加しました。検索ボタンをクリックすると、ページがリフレッシュされ、検索条件に対応するデータが表示されます。 しかし、検索条件の入力パラメータがURLにクエリー文字列として追加され、URLが不正なデザインになっています(URLにクエリー文字列を含む長いURL) 同じページにリダイレクトするサーブレットを作成しようとしましたが、ワーキング。 dispatcher.forwardでnullポインタ例外を取得しています。 この問題を解決する方法を提案してください。POSTメソッドで視覚的に同じページを送信し、WCMUsepojoクラスを呼び出す

事前

+0

これはSightlyとは関係がありません.Sightlyテンプレート言語のみです。あなたがGETをやっているのであれば、url以外の検索パラメータをどのようにパラメータとして取得しますか?私はあなたのペイロードのデータでPOSTを使うべきだと思いますが、その説明から解決策を提案するのは難しいでしょう...もしあなたが検索をしてJSONオブジェクトを返すサーブレットを持っていて、結果をページに表示しますか?このアプローチはどのように鳴りますか? – Bambara

答えて

1

のおかげでは、しかし、検索条件入力パラメータは悪いデザインのように見えるURLにクエリ文字列として追加されます。(長いURLがそれにクエリ文字列のparamsを持つ)

このISNそれはGETリクエストの仕組みです。

正しくお手伝いするには、サーブレット内でコードを共有する必要があります。私はあなたが作業している制約を知らないが、私はあなたがAJAX経由で検索を実行することをお勧めします。ここではサンプル検索の実装は(!それが唯一のデモではなく、生産準備ができています)です

検索フォームコンポーネント: https://github.com/mickleroy/aem-ajax-search/blob/master/bundle/src/main/java/com/github/mickleroy/servlets/AbstractSearchServlet.java

:結果を提供 https://github.com/mickleroy/aem-ajax-search/blob/master/content/src/main/content/jcr_root/apps/ajax-search/components/search/clientlibs/ajaxSearch.js

サーブレット: https://github.com/mickleroy/aem-ajax-search/blob/master/content/src/main/content/jcr_root/apps/ajax-search/components/search/search.jsp

Javascriptが検索送信を扱います

希望すると

関連する問題