JSP代码最后都是要编译成Servlet在服务端执行的,然后把HTML格式的执行结果输出到客户端,而JavaScript是要发送到客户端解释执行的,两者的执行一个在前,一个在后,没法嵌套,即:
JSP->Servlet(在服务器端执行)->HTML(包括JS)->客户端(解释执行JS并渲染HTML)
不过JSP代码倒是可以嵌套在JavaScript中,因为在将执行结果(HTML)返回给用户之前,JSP会在服务器端执行,而嵌套在JavaScript中的JSP代码就会替换为执行结果,如:
<script type="text/javascript">
function test(){
var i=<%=request.getLocalPort()%>
alert(i)
}
</script>
如果实在要写的话可以通过JSP的内置对象out来把JavaScript代码输出到客户端,但这样还是走的JSP->Servlet->HTML的流程,等于多走了一步,还不如直接写在HTML里.
下面给出一个例子:
<%
out.println("<script type='text/javascript'>alert('Hello')</script>")
%>
感觉是HTML代码没有写到对应区域的innerHTML
<html><head>
<script type="text/javascript">
function setInnerHTML()
{
myboxhtml="<a href=#>mylink</a></p><hr>"
document.getElementById("mybox").innerHTML=myboxhtml
}
</script>
</head>
<body onload="setInnerHTML()">
<div id=mybox></div>
</html>
更多信息 http://www.w3school.com.cn/jsref/prop_tablerow_innerhtml.asp
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)