【发布时间】:2015-07-02 11:47:41
【问题描述】:
我正在使用 struts2。通过我的操作,我从 java 的Resultset 中得到了一个Hashmap:
ArrayList<HashMap<Integer,Object>> customer = new ArrayList<HashMap<Integer,Object>>();
if(!(finalQuery.equals(""))){
ResultSet rsFinalQuery = conn.createStatement().executeQuery(finalQuery);
ResultSetMetaData md = rsFinalQuery.getMetaData();
int columnCount = md.getColumnCount();
while (rsFinalQuery.next()){
HashMap<Integer,Object> row = new HashMap<Integer,Object>();
for(int i=1; i<=columnCount; ++i){
row.put(i,rsFinalQuery.getObject(i));
}
biReport.add(row);
}
}
这是我的动作课:
public class Actionclass implements SessionAware {
private Data db;
private Map<String, Object> session;
ArrayList<HashMap<Integer,Object>> customer = new ArrayList<HashMap<Integer,Object>>();
public String execute() {
db = (Data) session.get("db");
this.customer = (ArrayList<HashMap<Integer, Object>>)
db.illustrateReport(this.reportID).get(1);
return "success";
}
public ArrayList<String> getColumnNames() {
return columnNames;
}
public void setColumnNames(ArrayList<String> columnNames) {
this.columnNames = columnNames;
}
public ArrayList<HashMap<Integer, Object>> getCustomer() {
return customer;
}
public void setBiReport(ArrayList<HashMap<Integer, Object>> biCustomer) {
this.customer = customer;
}
@Override
public void setSession(Map arg0) {
this.session = arg0;
}
}
这是我的jsp:
<html>
<head>
</head>
<body>
<TABLE>
<TR>
<s:iterator value="customer">
<option value='<s:property value="value" />'></option>
</s:iterator>
</TR>
</TABLE>
</body>
</html>
现在我的问题是如何使用 struts 将 jsp 中存储在 HashMap 中的表显示为表?我没有使用 bean 或 HTTPservlet,也不想在我的 jsp 中包含 java 代码。
如果你能帮忙就太好了!
【问题讨论】:
-
当然是struts2tags。但是你有没有展示过一个里面有一个 Object 的 HashMap 呢?
-
您只迭代列表。
value是什么? -
是的,但每次我看到这个让我毛骨悚然的非 OOP“结构”时,我都会链接这个答案......这是我的宠儿 :)
-
top关键字 - stackoverflow.com/q/20369158/1700321。 -
这是 Struts2,不是 Struts。它也几乎与 Struts 无关,除了名称。
标签: java jsp jakarta-ee struts2 hashmap