【问题标题】:Struts2: how to display an Hashmap<Integer, Object> in jsp?Struts2:如何在jsp中显示一个Hashmap<Integer, Object>?
【发布时间】: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“结构”时,我都会链接这个答案......这是我的宠儿 :)
  • 这是 Struts2,不是 Struts。它也几乎与 Struts 无关,除了名称。

标签: java jsp jakarta-ee struts2 hashmap


【解决方案1】:

我终于解决了。这是jsp文件中正确的代码:

<tr>
    <s:iterator value="customer">
        <s:iterator value="top">
            <td><s:property value="value"/> </td>
        </s:iterator>    
    </s:iterator>
</tr>

感谢大家的帮助!

【讨论】:

  • 注意和嵌套
猜你喜欢
  • 2015-02-19
  • 2011-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-17
  • 1970-01-01
  • 2014-10-09
  • 2016-07-07
相关资源
最近更新 更多