在理想情况下,我想将 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) 初始化值。有时您需要使用 JSP 获取值,这将在 javascript 方法中使用
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 分离更容易。我正在寻找简化此过程的建议,并希望很多人有值得分享的经验。