在项目中一个jsp页面中一段js代码居然没有写道script代码块里面,而奇怪的是这段js代码居然没有作为一段字符串输出到页面,而是执行了这段js代码.
于是怀这好奇的心理去看看到底是怎么回事,突然让我发现在head.jsp页面有这样的一段代码
而mainFrame_menuFunction.do这个请求正是跳到那个jsp页面.
这样就很清楚了,原来它把那个Jsp页面当作一个外部js来执行了.
于是自己就做了一把实验
a.jsp页面
重点是这
[quote]
<script type="text/javascript" src="b.jsp"></script>
[/quote]
句,注意那可是.jsp,而不是.js
b.jsp页面
部署,运行a.jsp,果然弹出字符串1
原来js还可以这样用.以前倒没有发现.
于是怀这好奇的心理去看看到底是怎么回事,突然让我发现在head.jsp页面有这样的一段代码
<script type="text/javascript" src="<c:url value='/mainFrame_menuFunction.do'/>"></script>
而mainFrame_menuFunction.do这个请求正是跳到那个jsp页面.
这样就很清楚了,原来它把那个Jsp页面当作一个外部js来执行了.
于是自己就做了一把实验
a.jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<script type="text/javascript" src="b.jsp"></script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>a</title>
</head>
<body>
This is my JSP page. <br>
</body>
</html>
重点是这
[quote]
<script type="text/javascript" src="b.jsp"></script>
[/quote]
句,注意那可是.jsp,而不是.js
b.jsp页面
alert(1);
部署,运行a.jsp,果然弹出字符串1
原来js还可以这样用.以前倒没有发现.