❶ js中如何引用EL表達式
注意: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('<option>' ); 也沒有效果 ,在解析的時候,會創建
document.createElement('<html><option>' );使用時候不識別的標識符 .
可以直接使用document.createElement('option')
火狐不支持select.options.appendChild(option),IE支持
select.appendChild(option) IE和Firefox都支持
火狐不支持option.innerText="test",
為兼容 改寫為option.innerHTML="test"
❷ JS在EL表達式中傳值的問題
${requestScope.newslist[i].newsTitle} 直接 ${newslist[i].newsTitle}
❸ 當js中含有el表達式時 可以提取到.js嗎
首先糾正,js里不能使用EL表達式。EL表達式在伺服器端執行,輸出表達式結果到JSP頁面。而內js是在客戶端容執行的。 你的問題在於EL表達式是直接輸出文本,並不知道上下文環境是HTML還是JS或是其他什麼。這樣就會導致輸出的文本有時候語法不正確。
❹ js中使用el表達式
js控制中用到了el表達式,最開始源碼如下:
varselected=${requestScope.xxxxForm.recordNumPerPage}
這樣始終js錯誤,因為在第一次的時候requestScope.xxxxForm.recordNumPerPage為null。
於是在boss的指導下,簡單的加了兩個引號,代碼變成
varselected=「${requestScope.xxxxForm.recordNumPerPage}」
功能自動實現。
附上整個函數代碼:
functiongetSelected(name){
varselects=document.getElementsByName(name);
varselected=「${requestScope.xxxxForm.recordNumPerPage}";
if(selected==undefined||selected==null||selected==""){
returnfalse;
}
for(varj=0;j<selects.length;j++){
for(vari=0;i=selects[j].length;i++){
if(selects[j].options[i].value==selected){
selects[j].options[i].selectd=true;
}
}
}
}
總之,在js中使用el表達式一定要使用雙引號。
❺ JS中如何引用EL表達式
1. JS代碼在JSP頁面中, 這可以直接使用EL表達式. 如:
[html]view plain
<scripttype="text/javascript">
$(function(){
newBacklogOverview("${param.alert}");
});
</script>
2.JS代碼是單獨的.js 文件, 通過引入到 JSP中來.這時候可通過提前定義JS變數的形式的解決,如:
[html]view plain
<c:setvar="contextPath"value="${pageContext.request.contextPath}"scope="application"/>
<script>
<%--JSgloablevarilible--%>
varcontextPath="${contextPath}";
</script>
這樣在之後引入的JS文件中就可以使用contextPath變數了.
[html]view plain
//Imagesetting
config.filebrowserImageUploadUrl=contextPath+"/ckeditor/upload.htm";
❻ 提問:js函數裡面能用el表達式么
js是客戶端執行,el是在服務端執行,而服務端比客戶端先執行,所以你不能用js來改專變已經執行的el表達式的值屬,但是卻可以用el來給js初始化傳值,這和jsp腳本是一樣的效果,但是如果js腳本不是在jsp頁面里而是在單獨的js文件里,這時用el初始傳值是不起作用的,但你可以通過window.onload()來得到el的值再傳送給js文件里的方法進行變數初始化
❼ JS裡面,怎樣在%%中嵌套EL表達式
el表達式只不過是簡化後的%%裡面的表達式,內置了一些全局變數罷了。
比如說,< %=request. getParameter(「username」)% > 等價於 ${ param. username }<%=user.getAddr( ) %> 等價於 ${user.addr}。
<%=request.getAttribute(「userlist」) %> 等價於$ { requestScope.userlist }
你只要知道兩者怎麼轉化,那上面的問題就簡單了,只要把el表達式寫全,就可以直接放到%%中
❽ js用el表達式取request中的值的問題
\是js字元串中的特殊字元,需要轉義成\\ 才能正確識別
❾ 在純js文件中用EL表達式獲取jsp內置session對象的值
在純js文件中,是不能直接用 EL表達式獲取jsp內置session對象的值的
你需要,先在jsp中,寫上js的臨時變內量,
<scripttype="text/javascript">
varname="{name}";
</script>
然後在純 js中 引用這容個變數, 注意純js文件的引用,應該在上面定義的js 的下面
<scripttype="text/javascript"src="xxx.js">