js控制中用到了el表达式,最开始源码如下:
var selected = ${requestScope.xxxxForm.recordNumPerPage}这样始终js错误,因为在第一次的时候requestScope.xxxxForm.recordNumPerPage为null。
于是在boss的指导下,简单的加了两个引号,代码变成
var selected = “${requestScope.xxxxForm.recordNumPerPage}”功能自动实现。
附上整个函数代码:
function getSelected(name){var selects = document.getElementsByName(name)
var selected = “${requestScope.xxxxForm.recordNumPerPage}"
if(selected == undefined || selected == null || selected ==""){
return false
}
for(var j = 0 j < selects.length j++ ){
for(var i = 0 i = selects[j].length i++){
if(selects[j].options[i].value == selected){
selects[j].options[i].selectd = true
}
}
}
}
总之,在js中使用el表达式一定要使用双引号。
在jsp中,如何让字符串跟EL表达式进行拼接。
若要实现 id= number1,id=number2 , id=number3,只是后面的数字在变化
那我们首先要明白jstl表达式还有如何让字符串跟EL表达式进行拼接两个知识点就可以了
如图:
在运行该项目时,需要引入jstl标签库,如图第三行
运行后的结果:
运行后按F12查看页面的元素情况:
注意画红线区域。可能会因为熟悉java的字符串拼接,往往会把id处的字符串拼接写成 id ="row"+${ i }
这样的写法是错误的。因为这个程序没有用到js或者jQuery根据id查询元素,你 这样写id ="row"+${ i }
不印象程序运行,但是如果你的程序用到js或者jQuer根据id查询元素的话,是查询不到的。
错误示范案例:
运行后的结果:
运行后按F12查看页面的元素情况:
可见,运行效果一样,但元素的id却截然不同。记住正确的写法。。
1. JS代码在JSP页面中, 这可以直接使用EL表达式. 如:
[html] view plain copy
<script type="text/javascript">
$(function () {
new BacklogOverview("${param.alert}")
})
</script>
2.JS代码是单独的.js 文件, 通过引入到 JSP中来.这时候可通过提前定义JS变量的形式的解决,如:
[html] view plain copy
<c:set var="contextPath" value="${pageContext.request.contextPath}" scope="application"/>
<script>
<%--JS gloable varilible--%>
var contextPath = "${contextPath}"
</script>
在JSP页面上定义JS变量 contextPath.
这样在之后引入的JS文件中就可以使用contextPath变量了.
[html] view plain copy
//Image setting
config.filebrowserImageUploadUrl = contextPath + "/ckeditor/upload.htm"