问一个<%@include file="" %>静态包含的问题。在线等,谢谢了。
j1.jsp
<%@ page contentType="text/html; charset=GBK" %>
<html>
<head>
<title>
j1
</title>
</head>
<body bgcolor="#ffffff">
<%
int a = 0;
%>
<%@include file="j2.jsp" %>
</body>
</html>
j2.jsp
<%@ page contentType="text/html; charset=GBK" %>
<%=i%>
编译时报错
"j1.jsp": cannot find symbol; symbol : variable i, location: class org.apache.jsp.j1_jsp
"j2.jsp": cannot find symbol; symbol : variable i, location: class org.apache.jsp.j2_jsp
请问该如何解决?问题解决马上给分,先谢谢了!
------解决方案-------------------- 1,你定义的是a,不是i~~
2,用<jsp:include>
------解决方案-------------------- 吧<%=i%>中的i改为a即可
------解决方案-------------------- 静态包含就是在编译以前把包含的内容嵌入到当前文件中,然后再进行编译。
错误是i没有定义
------解决方案--------------------
看来楼主没有搞清楚 jsp:include 和 include file的区别:
jsp:include 是 先在各自的页面中处理以后再组合到一块。
include file 是 先把所有代码静态的放在一起在进行统一编译和执行处理。
------解决方案-------------------- Java code
<%@ page contentType="text/html; charset=GBK" %>
------解决方案-------------------- jsp1.jsp <%! int i=0; %> <html> <body> <%@include file="jsp2.jsp" %> </body> </html> -------------- jsp2.jsp this is myjsp <%=i++ %>
------解决方案-------------------- 探讨 可是我已经在j1.jsp中定义了i这个变量了阿? 代码我已经改过了 j1.jsp <%@ page contentType="text/html; charset=GBK" %> <html> <head> <title> j1 </title> </head> <body bgcolor="#ffffff"> <% int i = 0; %> <jsp:include page="j2.jsp" flush="true"/> </body> </html> j2.jsp <%@ page contentType="text/html; charset=GBK" %> <%=i%> </html> 但是还是报错啊…
------解决方案-------------------- <%@ page contentType="text/html; charset=GBK" %> <%=i%> 中的i改成a就行,虽然ide会提示错误,但可以正常运行. 不相信可以试试. 如果实在不明白,运行一次页面,可以去这个目录tomcat 5.5\work\Catalina\localhost\....\...看jsp文件生成后的原代码.
------解决方案--------------------
楼主 你的代码我在本机测问题已经解决 代码没有问题 如果你IDE用的是JBuilder的话 你在运行程序的时候把检查JSP页面的那项去掉 就不会报你说的这个错误了 并能顺利运行 具体操作是 选择工程 点右键 选择properties选项 也就是最后一个 然后选择 Build选项 把倒数第二行的 Check JSPs for errors at build-time 这项的勾去掉 就可以了 试试 希望能帮到你 呵呵~
------解决方案-------------------- 2.jsp本来就编译不过去吧。 i是没有定义过的。
------解决方案-------------------- 把j2.jsp的 “<%@ page contentType="text/html; charset=GBK" %> ” 删除即可。 lz没有搞清楚 <%@ page 与jsp:include的区别。建议查看head first servlet&jsp中文版P401-407页,特别是407页
------解决方案-------------------- 17楼和15楼正确的,
------解决方案--------------------