非JS対応ページとJS対応ページの両方のWebページを開発するためのベストプラクティスは何ですか?私はJSP/JSTLをビュー技術として使用してSpring MVC Webアプリケーションを開発しています。静的コンテンツとAJAXページコンテンツの両方を配信する最良の方法は何ですか?
私が働く方法は、完全なWebページ(「html」、「head」など)タグをその中に作成することです。これはすべてのブラウザで動作します。私の全アプリは、JSが無効になっている(醜いバグにもかかわらず)。
ページには、トップレベルの「divs」をタブに変換するjQueryスクリプト、ダイアログに他のdivを組み込むjQueryスクリプトなどがあります.JSは、基本となるHTMLを「ハイジャック」します。 My JSはAJAX呼び出しを使用してコンテンツを正しいダイアログまたはタブdivにロードするリンクとボタンをハイジャックします。
これはすべてうまく動作し、私はアーキテクチャが好きですが、AJAXリクエストで「contentOnly」パラメータを追加するような最適化を追加しました。これは条件付きで "頭"などを無視するSpring MVCビューによって取得されます。つまり、AJAXバージョンが望む実際のコンテンツのみをレンダリングします。それはただ気難しいと感じます。
私はページ全体を読み込んで外側のビットを破棄することができますが、厳密には必要でないすべての関連するCSSとJSファイルを読み込むのは非効率的です。
私の質問は、この条件付き書式を書いた方がいいですか?VelocityやFreeMarkerやGrailsが使用しているものとは違う、別のビュー技術や何かを使っていなければなりませんか?
私の条件の例: -
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<c:if test="${param.contentOnly == null}">
<!DOCTYPE html>
<html>
<head>
<%@ include file="_stylesAndScripts.jsp"%>
<title>My App Title</title>
</head>
<body>
<%@ include file="_header.jsp"%>
<%@ include file="_menu.jsp"%>
</c:if>
<div id="leadListPanel" class="contentPanel">
<h1>My App Title</h1>
<p>The time on the server is ${serverTime}.</p>
<table id="leadTable" class="list">
... rest of content...
<c:if test="${param.contentOnly == null}">
<%@ include file="_footer.jsp"%>
</body>
</html>
</c:if>
ありがとうございます。私はSiteMeshのようなものがこれを助けるかもしれないかどうか疑問に思います。 –