js中使用jstl中得到的值


jstl的標簽會轉化為服務器端的代碼執行,而js代碼則在客戶端執行。
        要在js中使用jstl並不是直接將jstl的value賦值給一個js的變量,而是要在jstl的value上加上"",比如一個從服務器端返回的數據可以這樣賦值給js的變量。

Java代碼
  1. var result = "${result}"; 

轉自http://gaogengzhi.iteye.com/blog/701851

 

如果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_x_x('<option>' );即使轉義后
document.createElement_x_x('&#60;option&#62;' ); 也沒有效果 ,在解析的時候,會創建
document.createElement_x_x('<html><option>' );使用時候不識別的標識符 .
可以直接使用document.createElement_x_x('option')

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM