jsp include page 包含了有script的页面的问题..

有一个页面,test.jsp 里面加入了一些JavaScript.

然后又有一个页面 1.jsp 在里面的<body>标签中写入了
<jsp:include page="test.jsp" flush="true"/>

运行时的确是test.jsp里面的内容已经包含在1.jsp里面了,但是发现test.jsp里面<script type="text/javascript">标签里面的脚本并没有运行啊!

谁能帮帮忙解决这个问题?

我试过用 out.write(<script type=\"text/javascript\">") 并把其余javascript里面的内容也用out.write()输出,但页面还是不运行javascript啊

你test.jsp的js代码是不是写在方法里了?
调用了么?

parent.jsp

<%@ page language="java" pageEncoding="UTF-8"%>

<html>
<head>
</head>

<body>
<jsp:include page="sub.jsp"></jsp:include>
</body>
</html>

sub.jsp

<%@ page language="java" pageEncoding="UTF-8"%>

<html>
<head>
<title>My JSP 'sub.jsp' starting page</title>

<script type="text/javascript">
alert("test");
</script>

</head>

<body>
This is SUB page. <br>
</body>
</html>
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-04-13
<head></head>之间加入
<script language="javascript">
function 函数名(){
//相应函数体
}
</script>
以下是我曾经做过的更改密码jsp页面嵌入javascript脚本的相应部分!
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登录</title>
<script language="javascript">
function change(){
var FPassWord=document.cp.FPassWord.value;
var CPassWord=document.cp.CPassWord.value;
var APassWord=document.cp.APassWord.value;
if(FPassWord==""){
alert("原密码不为空");
document.cp.FPassWord.focus();
}
if(CPassWord==""){
alert("更改密码不为空");
document.cp.CPassWord.focus();
}
if(APassWord==""){
alert("确认密码不为空");
document.cp.APassWord.focus();
}
if(APassWord!=CPassWord){
alert("更改密码和确认密码不同");
document.cp.CPassWord.focus();
}
}
</script>
</head>
第2个回答  2010-04-13
使用document.write("<script type=\"text/javascript\">")
第3个回答  2010-04-13
如果可以的话,希望能看一下你的代码。。。
先检查一下,你引入jsp的地方,是在test.jsp中你所写的javascript的前面,还是后面。如果你引入jsp的地方是在test.jsp中所写的javascript的前面,那把那些js代码放到head里面去再试试。
单纯地这样说,很难下结论的。
第4个回答  2015-12-13
检查输出js标签的写法是否有问题,参考:
<script language='javascript' type='text/javascript'>Hello World!</script>
因为存在尖括号和关键字script,所以用常规方法是无法输出的,必须转换掉尖括号。
用以下语句:
Response.Write("<script language='javascript' type='text/javascript'>Hello World!</script> ");
结果是什么都没有输出。所以必须得转换尖括号。
改用下面语句:
Response.Write("<script language='javascript' type='text/javascript'>Hello World!</script>");
输出结果:<script language='javascript' type='text/javascript'>Hello World!</script>

此题目的关键在于HTML和关键相互转换,还有以下内容还需要转换
// <summary>
// 功能:对表 表单内容进行转换HTML操作,
// </summary>
public static string HtmlCode(string s)
{
string str = "";
str = s.Replace(">", ">");
str = s.Replace("<", "<");
str = s.Replace(" ", " ");
str = s.Replace("\n", "<br />");
str = s.Replace("\r", "<br />");
str = s.Replace("\r\n", "<br />");
return str;
}
// <summary>
// 功能:对表 表单内容进行转换HTML操作,
// </summary>
public static string CodeHtml(string s)
{
string str = "";
str = s.Replace(">", ">");
str = s.Replace("<", "<");
str = s.Replace(" ", " ");
str = s.Replace("<br />", "\n");
str = s.Replace("<br />", "\r");
str = s.Replace("<br />", "\r\n");
return str;
}本回答被网友采纳
第5个回答  2010-04-13
要看是什么样的脚本了

jsp:include 嵌套 表单
首先 你要理解 <jsp:include \/> 方法是把包含的文件执行了的结果 显示到其他页面上 <%@include file=""%>方法 是把那包含的页面的完整代码 嵌入到主页面上一起执行...在你的子页面中 不仅有HTML静态的东西 你还有<script>标记 并且你最后一个<\/scripst> 还书写错误...你这里改成<%@inclu...

JSP问题 这个在HTML里的<script language="javascript">...<...
JSP中的<%%> 是java服务端脚本的标签,在JSP中,包含在<%%>中的代码必须用java语言编写,页面生成时,这部分代码在服务器端就已经被执行了;

使用script的src引入jsp页面时,浏览器报“语法错误”
首先要确保你的a.jsp中确实没有语法错误,你可以单独的执行一下,看看是不是真的都正确了。如果确认无误之后,那很有可能是编码格式的问题。例如你调用页面的编码格式是utf-8。而你的a.jsp确是gb2312。这样也会造浏览器在解释的时候出现语法错误的。看看对你有没有帮助。

jsp引入js文件的问题
<script src=test2.js><\/script> 第三种情况:一个通过Action跳转之后到达的Jsp页面需要引入一个Js文件:这种情况下,请使用绝对路径,在第二情况的基础上, 我们访问的是 servlet 或是struts的action , 再转发到 index.jsp url 是: http:\/\/localhost\/***.do或者 http:\/\/localhost\/***.action...

jsp引入js文件的问题
1)引入的js文件出错,检查方法:将Js的内容写在当前的页面的<script> <\/script>之间,看是否能够正常运行,如果不能,请核查代码 2) 如果引入的代码在当前页面中能够正常运行,但当引入时不能正常运行,则有两种可能 A:引入Js的路径有问题 B:引入的Js的编码格式与当前页面不匹配; 3)引入Js...

为什么jsp页面中javascript片段不执行?请高人解答,在线等待...(连al...
checkName里的for循环写错了,,int i = 0; 在javascript里定义和声明变量应该是var关键字,javascript脚本语言是一个弱类型语言!再就是建议以后以现javascript有问题,可以把代码复制到editplus里面去,然后用IE打开后,看IE状态栏左下角有没有报错,如果有错误就会显示大致是哪一行,这样便于排错!

JS文件里包含JS文件的问题
有个a.jsp,上面要用到例如一个Common.js和Tree.js。则a.jsp上面引入一个<%@ include file="resource.inc"%>,而这个resource.inc中则是:<script language=javascript src="Tree.js"> <\/script>和<script language=javascript src="Common.js"> <\/script>。这样这两个js就被引入到a.jsp上...

是一个jsp的问题,打开浏览器出现了下面的提示.对jsp和javaScript有经验...
document.write(d);这个不对,你把jsp中的script变量用到了脚本中了,它们两个是不能相互引用的

JSP 中<script>中如何访问 <% %>中的变量?
不能直接修改,JSP页面中的变量都存在于服务器端,而script是在客户端解释执行的(就是在浏览器上)。所以,理论上script是不能获得JSP页面中的值的。但是,可以有变通的做法,就是在页面上设一个隐藏域,将这个域的value当成我们需要的变量,将变量值设置给这个隐藏域,然后利用script去对这个隐藏域...

一个网页框架中如何用代码嵌入两个页面
用include语句 因为你没有给出语言 我就给你列两个 JSP中:<jsp:include src="你要连接的页面"><\/include> PHP:<include src="">;

相似回答