在理想情况下,我想将 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 分离更容易。我正在寻找简化此过程的建议,并希望很多人有值得分享的经验。