2017-05-09 3 views
0

私は単一ページのWebアプリケーションを行う予定です。サーバー側のSpringMVCフレームワークとThymeleafテンプレートエンジンのみで実現することは可能ですか?また、AngularやjQueryのようなクライアントサイドのものも必要になりますか?目標は、何かが変わるたびにウェブページ全体をリロードして、デスクトップアプリケーションと同様の体験をユーザーに提供することを防止することです。単一のWebページアプリケーションに必要な角度/ jQuery?

答えて

0

TL; DR:あなただけSpringMVCThymeleafとSPAを構築することはできません。残念ながら

Thymeleafは、それはそれは、SPAのとは異なり、リダイレクトやリロードに中継することを意味し、サーバー内のページを構築するために使用されるサーバー側のテンプレートエンジンです

あなたはSPAアプリケーションを構築するのいずれかのようなものを使用したい場合AngularまたはThymeleafAngularのようなものを組み合わせて、両方の利点を楽しむことができます。

0

あなたは、単一ページのアプリケーションを構築するための選択肢の広い配列を持っています。あなたの質問に答えるために

はそれだけで、サーバー側SpringMVCフレームワーク とThymeleafのテンプレートエンジンとそれを達成することは可能ですか?

はい。そして、

SpringMVCを使用して最初の単一ページビュー(index.html)を返し、その後、基本的なJavascriptを使用して、SpringMVCを使用して公開されたJSON RESTサービスに対してXMLHttpRequestsを作成できます。デザインごとに必要なすべての要素をレンダリングするには、JavaScriptでDOM操作を処理する必要があります。

オプションで、あなたは、サービスの応答のレンダリングに使用するテンプレートを指定するテンプレートパラメータを、受け入れる離れであなたのサービスを書き込むことができます。したがって、Thymeleafを使用してサーバー側で応答のレンダリングが行われ、サーバーはAJAX要求からのHTMLデータで応答します。応答から必要なDOMとしてHTMLを添付することができます。

しかし、上記の方法ではバグが発生しやすく、このようなすべての要素が現代のJavascriptフレームワークで容易に利用できるようになると、ホイール(例:履歴、フォーム提出、URLルーティング、ユニットテストなど) Angular、EmberまたはReact。

だから、あなたが良いフレームワークで始まる優れているが、これらのフレームワークのそれぞれの学習曲線はかなり急です。あなたがjQueryに慣れていれば、アプリが複雑なものではない場合でも、初めから利用することができます。あなたがあなたの目標を述べたように

0

は、Webページ全体を毎回何かの変更をリロードし、ユーザーにデスクトップ・アプリケーションと同様の体験を提供することで防ぐことです。

要求がサーバーに行くと、サーバのロードに多少時間がかかる適切なページに戻って応答するサーバ側のアプリケーションのようにこれは、サーバー側のアプリケーションを使用することによって達成することができません。経験のようなデスクトップを持っているユーザーの場合

、それは優れたユーザーコミュニティと市場の傾向にあるように、あなたは(私が提案する)角度を使用してSPAを構築する必要があります。

ソリューションの私のテイクは、春にはRESTfulなWebサービスと角度フロントエンド

私はあなたがこのページ

https://rahulrsingh09.github.io/AngularConcepts

をご覧下さい角度のいくつかの概念を学びたい基づきます
関連する問題