xmlhttp通过javascript调用jsp代码

30 篇文章 2 订阅

<script language="javascript">
if(document.getElementById("htmleditcontent")!=undefined){interform.temp.value = document.getElementById("htmleditcontent").value;WBTB_InitDocument('Body','GB2312');}</script>
<script language="javascript">
{
xml = new ActiveXObject("Microsoft.XMLHTTP");
var post="";//构造要携带的数据
xml.open("POST","../jsp/queryCS/test.jsp?cs=11",false);//使用POST方法打开一个到服务器的连接,以异步方式通信
xml.setrequestheader("content-length",post.length);
xml.setrequestheader("content-type","application/x-www-form-urlencoded");
xml.send(post);//发送数据
//返回结果
var v = xml.responseText;
//处理这个结果
document.getElementById("selectfact").innerHTML='<SELECT size=1 name=postercn>' + v ;
}
</script>

<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="java.util.*"%>
<%@ page import="java.util.List"%>
<%@ page import="com.yc.ycportal.util.CacheTree"%>
<%@ page import="java.util.StringTokenizer"%>
<html><BODY>
<%
   String strchangshang=(String)request.getParameter("cs");
   String cname=(String)request.getParameter("cscn");
   String allquery_str="";
   System.out.println("厂商"+strchangshang);
  String all_factory="";
  // 

  {
      List list = CacheTree.getAll_son_Tree(strchangshang);
      String str_fact_id_name = "";
      String fact_id = "";
      String fact_name = "";
      for (int i = 0; i < list.size(); i++) {
       str_fact_id_name = (String) list.get(i);
       StringTokenizer st = new StringTokenizer(
         str_fact_id_name, "◆");

       fact_id = st.nextToken();
       fact_name = st.nextToken();

       if ("".equals(allquery_str))
        allquery_str = fact_id + "◆" + fact_name;
       else
        allquery_str = allquery_str + "|" + fact_id
          + "◆" + fact_name;// 为后边查询做准备

       all_factory = all_factory + "<OPTION value="
         + fact_name + ">" + fact_name + "</OPTION>";
      }
  }
  if("".equals(all_factory))
     all_factory="<OPTION value="+ cname + ">" + cname + "</OPTION>";
%>
<%=all_factory%>
</BODY>
</html>

 

通过div加载另一个jsp页面可以使用Ajax来实现。Ajax是一种用于创建快速和动态网页的技术,通过它我们可以在不重新加载整个网页的情况下,向服务器发送请求,并将服务器返回的数据加载到指定的div元素中。 首先,在需要加载jsp页面的div元素中添加一个空的占位符,例如:<div id="targetDiv"></div>。 然后,使用JavaScript来实现Ajax请求和加载数据的功能。你可以创建一个函数,当触发某个事件时调用这个函数,例如点击按钮: ``` function loadAnotherPage() { var xmlhttp = new XMLHttpRequest(); // 创建一个XMLHttpRequest对象 xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById("targetDiv").innerHTML = this.responseText; // 将返回的数据加载到指定的div元素中 } }; xmlhttp.open("GET", "anotherpage.jsp", true); // 发送GET请求,请求另一个jsp页面 xmlhttp.send(); } ``` 在上面的代码中,我们创建了一个XMLHttpRequest对象,并定义了一个回调函数,当请求状态为4(即请求完成)且请求状态码为200时,将服务器返回的数据加载到targetDiv元素中。 最后,将loadAnotherPage函数绑定到一个事件上,例如点击按钮的事件: ``` <button onclick="loadAnotherPage()">加载另一个页面</button> ``` 这样,当点击按钮时,就会调用loadAnotherPage函数,发送请求并将另一个jsp页面加载到指定的div元素中。 以上就是通过div加载另一个jsp页面的简单实现方法。当然,你也可以使用jQuery等前端框架来简化这个过程。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值