JS中使用EL表示式的問題

langgufu314發表於2013-05-21

如果js指令碼在jsp檔案中,用el表示式有效果  alert("${msgs.addFullName }");
注意:alert的時候,要把el表示式用引號引起來

如果是單獨的js檔案,el表示式是不起作用的,

EL表示式是在服務端執行的,服務端執行完成後再傳給客戶端的,js是在客戶端執行的,el在js前就被執行了

把引入的外部js改為jsp檔案,然後在jsp頁面中引入<script src="myjs.jsp"></script>

在完全是js的jsp檔案中,在執行的時候會出現亂碼
在頂部加入
<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>可解決亂碼

然後在jsp頁面中引入myjs.jsp,
<script src="myjs.jsp" type="text/javascript"></script>

但是如果js檔案有建立html,就會出現錯誤,比如document.createElement('<option>' );即使轉義後
document.createElement('&#60;option&#62;' ); 也沒有效果 ,在解析的時候,會建立
document.createElement('<html><option>' );使用時候不識別的識別符號 .
可以直接使用document.createElement('option')

火狐不支援select.options.appendChild(option),IE支援
select.appendChild(option) IE和Firefox都支援

火狐不支援option.innerText="test",
為相容 改寫為option.innerHTML="test"

相關文章