博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网站首页加载动态数据的方法
阅读量:4597 次
发布时间:2019-06-09

本文共 2195 字,大约阅读时间需要 7 分钟。

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

你可能感兴趣的文章
第一天
查看>>
团队冲刺第十天
查看>>
Gradle用户指南
查看>>
iOS审核策略重磅更新:Guideline 2.1批量拒审
查看>>
给 vue项目添加ESLint
查看>>
Swift3.0 功能一(持续更新)
查看>>
HexColor
查看>>
Swift中实现点击、双击、捏、旋转、拖动、划动、长按手势的类和方法介绍
查看>>
你会用swift创建复杂的加载动画吗(1)
查看>>
javabean转换为map对象
查看>>
CSS从入门到精通2.md
查看>>
【NOIP 2013】积木大赛
查看>>
HttpWebRequest调用WebService后台需要Session信息问题的解决办法
查看>>
SQL里的子查询
查看>>
Hdu5517 Triple
查看>>
vue 调用微信支付方法
查看>>
ABP创建应用服务
查看>>
混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。...
查看>>
Swift - 绘制背景线条
查看>>
POJ 2318
查看>>