java - 使用循环获取 HashMap 值

标签 java jsp struts2 hashmap

我的数据库中有 5 个属性,我正在尝试在 struts2 项目中使用 hashmap 检索它。属性名为 MarketPlaceOrderDatedataamountcountresult。这里我想显示 jsp 表中的值,因此每个 marketplace 有 3 个 span 行,其值为 dataamountcount结果。 目前我的java Action 类看起来像这样。

package com.action;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.text.BreakIterator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import com.action.GetCon;
import com.action.ReportClass;

import freemarker.debug.Breakpoint;

public class JanuaryAction {
private String name;
HashMap abc = new HashMap();

public HashMap getAbc() {
return abc;
}
public void setAbc(HashMap abc) {
this.abc = abc;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}

public String execute() throws Exception{

String time=getName();
 /*   System.out.println(time);*/
if(time.equals("January 2013")){

abc.put(time,"'2013-01-01' AND OrderDate <= '2013-01-31'" );
}
else if(time.equals("February 2013")){
abc.put(time,"'2013-02-01' AND OrderDate <='2013-02-31'" );
}
else if(time.equals("March 2013")){
abc.put(time,"'2013-03-01' AND OrderDate <='2013-03-31'" );
}
else if(time.equals("April 2013")){
abc.put(time,"'2013-04-01' AND OrderDate <='2013-04-31'" );
}
else if(time.equals("May 2013")){
abc.put(time,"'2013-05-01' AND OrderDate <='2013-05-31'" );
}
else if(time.equals("June 2013")){
abc.put(time,"'2013-06-01' AND OrderDate <='2013-06-05'" );
}
String newtime=(String)abc.get(time);
   /* System.out.println(newtime);*/

Connection con = GetCon.getCon();
Statement statement = con.createStatement();
ResultSet resultset = statement.executeQuery("SELECT MarketPlace,OrderDate, ROUND(SUM(Total),2), COUNT(*) , ROUND(ROUND(SUM(Total),2)/ COUNT(*),2) FROM vend_printed WHERE OrderDate >=" +newtime+ " GROUP BY OrderDate,MarketPlace") ;
Object value = abc.remove(time);

while(resultset.next()){

String marketplace = resultset.getString(1);

String orderdate = resultset.getString(2);

Double datamount = resultset.getDouble(3);
Integer count= resultset.getInt(4);

Double result=resultset.getDouble(5);

abc.put(0, marketplace);
String value1 = (String) abc.get(0);
System.out.println(value1);


abc.put(1, orderdate);
String value2 = (String) abc.get(1);
System.out.println(value2);


abc.put(2, datamount);
Double value3 = (Double) abc.get(2);
System.out.println(value3);


abc.put(3, count);
Integer value4 = (Integer) abc.get(3);
System.out.println(value4);


abc.put(4, result);
Double value5 = (Double) abc.get(4);
System.out.println(value5); }

return "success";
}}

最佳答案

<s:iterator var="studentEntry" status="stat" value="map.entrySet()">  <br><br><br>
Marketplace Name is: <s:property value="%{#studentEntry.getKey()}"/> <br>
Value: <s:property value="%{#studentEntry.getValue()}"/><br><br><br>

</s:iterator>

希望这有帮助。

关于java - 使用循环获取 HashMap 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17234260/

相关文章:

java - Spring MVC 匹配通配符严格错误

java - Struts2 拦截器跟踪 session 超时前的最后一页

spring - 为什么我没有收到 Spring Security 登录错误消息?

java - 编写外键关联查询

java - 这种情况的异常处理模式?

java - 来自 Postgresql 的类型和来自 Play 的类型 (anorm)

java - Struts2 'Required' 字段验证拦截器不工作

java - 直接向 Web 客户端公开 Web 服务还是在两者之间保留一个薄的服务器端脚本层?

java - 主机 'X' 由于许多连接错误而被阻止

java - 在 Spring Web 项目中使用 CSS 和 JS