咨询平台server端编写--Info数据分析页面

写在前面:

这一部分是根据日期时间查询,截至该日0点时的疫情信息;

包括世界各国新增热力图,中国累积热力图,死亡率前十的国家,新增vs治愈对比等

一.vo实体类

Info.java

public class Info {

	private Integer iid;
	private Date idate;
	private String worldmap;
	private String chinamap;
	private String tiaoxing;
	private String zhexian;
	private String rosemap;
	private String number;

    //getter,sertter略
}

Info.hbm.xml:略

applicationContext.xml配置hibernate文件;

二.action,service,dao

1.action

public class InfoAction extends ActionSupport implements ModelDriven<Info> {

	// 模型驱动的对象
	// 关于模型驱动,参见https://blog.csdn.net/qq_33800083/article/details/80251112
	private Info info = new Info();

	public Info getModel() {
		return info;
	}

    //调用service
	private InfoService infoService;

	public void setInfoService(InfoService infoService) {
		this.infoService = infoService;
	}

    //函数:通过日期搜查疫情信息
	public String findByDate() {
		System.out.println(info.getIdate());
		List<Info> iList = infoService.findByDate(info.getIdate());
		ActionContext.getContext().getSession().put("iList", iList);
		//System.out.println(iList.get(0).getWorldmap());
		return "success";
	}
}

2.service

public class InfoService {

	private InfoDao infoDao;
	
	public void setInfoDao(InfoDao infoDao) {
		this.infoDao = infoDao;
	}

	public List<Info> findByDate(Date date) {
		// TODO Auto-generated method stub
		return infoDao.findByDate(date);
	}

}

3.dao

public class InfoDao extends HibernateDaoSupport{

	public List<Info> findByDate(Date date) {
		
		Date date1 = date;
		long oneDayTime = 1000*3600*24;
		// 这个date2就是减1天的时间
		Date date2 = new Date(date1.getTime() - oneDayTime);
		SimpleDateFormat sdft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String date1str = sdft.format(date1);
		String date2str  = sdft.format(date2);
		System.out.println(date1str); 
		System.out.println(date2str);
		
		Date from=null;
		Date to=null;
		try {
			from = sdft.parse(date2str);
			to = sdft.parse(date1str);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		DetachedCriteria criteria = DetachedCriteria.forClass(Info.class);
		
		criteria.add(
                // 与条件
                Restrictions.and(
                        // 取大于
                        Restrictions.gt("idate", from),
                        // 取小于等于less than or equal
                        Restrictions.le("idate",to)
                                ));
		List<Info> list = this.getHibernateTemplate().findByCriteria(
				criteria);
        return list;
	}

}

4.applicationContext.xml配置一下

三.编写调用方法

1.页面请求info_findByDate.action

<form class="demo_form"
		action="${pageContext.request.contextPath }/info_findByDate.action"
		method="post">
		<p>
			<input type="text" class="demo-input" placeholder="请选择日期" id="idate"
				name="idate">
		</p>
		<input type="submit" value="查询" class="demo-input2"/>

</form>

2.struts.xml

<action name="info_findByDate" class="infoAction" method="findByDate">
	<result name="success">/jsp/page1.jsp</result>
</action>

3. 调用函数:findByDate()

四.接收返回值并显示

<!--jsp页面的顶部添加一条语句-->
<%@ taglib uri="/struts-tags" prefix="s" %>

<div class="image">
	<s:iterator var="i" value="#session.iList">
		<iframe
			src="http://182.92.208.245:8080/covid2019library/<s:property value="#i.worldmap"/>"
			width="100%" height="100%" frameborder="0" name="date"></iframe>
	</s:iterator>
</div>

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值