首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

请教用ajax的方式如何把一个已经写好的jsp页面加载到另一个jsp中

2013-10-10 
请问用ajax的方式怎么把一个已经写好的jsp页面加载到另一个jsp中%@ page languagejava importjava.u

请问用ajax的方式怎么把一个已经写好的jsp页面加载到另一个jsp中

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'main.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript" src="js/jquery-1.4.4.js"></script>

<script type="text/javascript">
 $(function(){ 
    $("#send").click(function(){ 
        $("#mydiv").load("test.jsp); 
    }); 
});
</script>
</head>

<body>

<input type="button" id="send" value="Ajax获取" />
<div id="mydiv"></div>

</body>
</html>

这是main.jsp,用来加载test.jsp的
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'test.jsp' starting page</title>
    
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
  </head>
  
  <body>
  hello,i'm from test.jsp!!
  </body>
</html>

这是test.jsp
为什么加载不成功,  用这个方法不行吗? ajax jsp
[解决办法]
是不是<%@include  file='url'@%> 是这个么 可以引用html或者
jsp页面的
[解决办法]

main.jsp里面加
function test(){
document.getElementById("testFrame").src = "test.jsp";
}
<input type="button" value="test" onclick="test();"/>
    <iframe src=""
                id="testFrame" name="testFrame" style="width: 100%;height:100%;"
                frameborder="0" marginwidth="0" marginheight="0" height="100%;"
                scrolling="no" allowtransparency="true"></iframe>

[解决办法]
首先这不是Ajax吧。。。
其次浏览器不支持JSP,而我们读的JSP页面其实是通过编译器已经编译好并返回的html.
最后如果你想通过Ajax的方式,也完全可以,不过方式需要改一下。。。
Ajax向服务器申请之后返回的应该是一个html页面
[解决办法]
正如楼上们所说的jsp需要web容器才能运行,但是我觉得lz不是这个问题
首先,lz的jquery加载函数有个小问题
$("#mydiv").load("test.jsp);
括号里缺个引号
$("#mydiv").load("test.jsp");
然后就是,如果在a.jsp用ajax异步加载b.jsp的时候,由于b.jsp是作为代码片段嵌入a.jsp的div中,所以b.jsp不必有<html><head><body>之类的标记,如果是b中有动态内容,首行还是需要<%@ page...内容的(jsp文件第一行内容)

热点排行