理想的な世界では、Javascript を完全に別のファイルに分離し、それを JSP ページに含めたいと考えています。しかし、動的に生成された Javascript は非常に簡単に記述できるという理由だけで、このルールに従うのに苦労する場合があります。
いくつかの例:
1) アラート ボックスのロケール固有のエラー メッセージ。
<%
Locale locale = ..//get current locale
%>
<script language="JavaScript">
function checkMessage() {
if(document.form.msg.value=='') {
alert(<%= *LocaleHelper.getMessage(locale,"please_provide_message")* %>); //get the locale specific message . mixing Javascript and JSP !!!
}
}
2) 値の初期化。JavaScript メソッド内で使用される JSP を使用して値を取得する必要がある場合があります。
function computeExpiry () {
var creationDate= <%= creationDate =%>
var currentDate = document.form.date.value;
var jsCreationDate= converToDate(creationDate);
return currentDate>creationDate ;
}
3) 構成オブジェクトを動的に初期化する
var myConfig = {
modal:true,
resize:true,
<% if (lastPage) { %>
showPreviousButton :true,
showNextButton : false ,
showSubmitButton : true,
<%} else {%>
showPreviousButton :true,
showNextButton : true ,
showSubmitButton : false,
<%} %>
ご想像のとおり、あらゆる種類の規則がなければ、すべての JSP は Javascript と JSP の見苦しい組み合わせになり、理解と保守が難しく、再利用できない JavaScript コードがたくさん含まれます。
私は完璧な解決策を探しているわけではありません。純粋な Javascript と JSP の分離を維持しようとするよりも、これを行う方が簡単であることはわかっています。このプロセスを容易にするための提案を探しており、多くの人が共有する価値のある経験を持っていることを願っています.