如何在JSP代码中嵌入javascript代码 5
就是在<%%>的JSP代码中怎么写JAVASCRIPT代码呢我怎么写都会有错??请高手指教谢谢...
就是 在<% %>的JSP代码中 怎么写JAVASCRIPT代码呢 我怎么写都会有错??请高手指教 谢谢
展开
1个回答
展开全部
不能这么写的,两者的执行位置不一样,JSP在服务器,JS在客户端。
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>");
%>
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>");
%>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询