网站首页加载动态数据的方法

最近做公司网站,首页部分需要加载动态的新闻数据,当然直接访问这个页面是没有数据的,必须是先访问action

可以用两种方法

1,新建一个welcome.jsp页面,这个页面只是做一个action的跳转,不涉及网站的东西

<%
response.sendRedirect(request.getContextPath()+"/news/showNews");
%>

然后在web.xml中配置一下,访问项目第一个跳转的页面

  <welcome-file-list>
    <welcome-file>welcome.jsp</welcome-file>
  </welcome-file-list>

最后在struts.xml 中把action请求的的地址返回到首页

<result name="success">/index.jsp</result>

 

2.用ajax的方法请求

先引用ajax的js文件

function send_request(callback, urladdress, isReturnData){      
        var xmlhttp = getXMLHttpRequest();
        xmlhttp.onreadystatechange = function(){
            	if (xmlhttp.readyState == 4) {//readystate 为4即数据传输结束
 				    try{
				    	if(xmlhttp.status == 200){
							if(isReturnData && isReturnData==true){
								
								callback(xmlhttp.responseText);
							}
						}else{
							callback("抱歉,没找到此页面:"+ urladdress +"");
						}
			        } catch(e){
			        	callback("抱歉,发送请求失败,请重试 " + e);
			        }
			   }
        }
        xmlhttp.open("GET", urladdress, true);
        xmlhttp.send(null);
}

function getXMLHttpRequest() {
        var xmlhttp;
		if (window.XMLHttpRequest) {
			try {
				xmlhttp = new XMLHttpRequest();
				xmlhttp.overrideMimeType("text/html;charset=UTF-8");//设定以UTF-8编码识别数据
			} catch (e) {}
		} else if (window.ActiveXObject) {
			try {
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				try {
					xmlhttp = new ActiveXObject("Msxml2.XMLHttp");
				} catch (e) {
					try {
						xmlhttp = new ActiveXObject("Msxml3.XMLHttp");
					} catch (e) {}
				}
			}
		}
        return xmlhttp;
}

 然后在index.jsp中写js

function getNews(){
 var news = document.getElementById("news");
 if(news){
  news.innerHTML = "正在请求数据……";
  send_request(function(value){
   news.innerHTML = value;
  },"news/showNews",true
  );
 }
}

 在index.jsp页面里在需要显示数据的地方写一个div显示数据

<div id="news" >

   </div>

在新建一个newValue.jsp接收ajax请求方法后的返回数据(也就是js中的news/showNews)

在页面加载的时候调用<body οnlοad="getNews();">,这样前面页面的写完了。

接着配置struts.xml,把result配置到newValue.jsp页面

<action name="showNews" class="com.hooypay.action.ShowNewsAction" method="showNews" >
  <result name="success">/news_common.jsp</result>
    <result name="index">/newsValue.jsp</result>
  </action>

 这样就ok了

 

 

 

转载于:https://www.cnblogs.com/xiaomuv587/archive/2012/11/09/2762400.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值