如何在 JS 中嵌入 HTML 代码
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>");
%>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |