能不能在javascript中嵌入jsp代码?
在javascript中嵌入jsp代码和在jsp中动态组装javascript代码是不一样的概念。
如果你的javascript写在了html页面中,那么你的jsp代码是不会被编译的。
如果你在jsp中动态组装了javascript代码,那么jsp页面会被编译为一个class类,这个类会跟你写的逻辑会输出(out.println()方式)javascript代码。举例来说:
在javascript中写jsp代码:
<javascript>
alert(“<% int i=1; i++; out.println(i); %>”);
</javascript>
上面的代码段如果放在jsp页面中<% int i=1; i++; out.println(i); %>会被编译,但是放在HTML页面中不会被编译。
在jsp页面中动态组装javascript代码:
<% if(loginType =="admin"){
out.println("<javascript> function ShowType{ document.getElementById('type').innerHTML = "admin" } </javascript>");
}else{
out.println("<javascript> function ShowType{ document.getElementById('type').innerHTML = "admin" } </javascript>");
}%>
上面这个jsp代码段放在合适的jsp页面中这个javascript是会被发送到client的,你就可以在client使用这个ShowType方法。
总之一句话:javascript代码是给浏览器执行的,jsp代码是在server端编译的,jsp代码必须放在jsp页面中经server编译,而javascript只要发送给client就行。
取值用 <%=jsp表达式%>
做一般动作 <% jsp代码%>