【问题标题】:Best way to get the data from Action subclass to Jsp View?将数据从 Action 子类获取到 Jsp View 的最佳方法?
【发布时间】:2011-02-25 10:00:17
【问题描述】:

我试图通过将每个项目的数据存储在 HashMap 中,然后将所有 HashMaps 存储在 ArrayList 中,然后将其传递给请求对象来传递一些数据列表。

谁能告诉我一个更好的方法!

我还想补充一点,有时我想先放的数据为空,因此 ArrayList 的大小变为零。

【问题讨论】:

  • @Lokesh,你能发布一些sn-p的代码吗?
  • 我不能给出确切的代码,但这里有一些供您查看:
  • ArrayList ItemsList =new ArrayList();
  • //通过executeQuery()获取ResultSet
  • HashMap mp=new HashMap(); //在HashMap中存储数据; ItemsList.add(mp); }

标签: java jsp model-view-controller struts


【解决方案1】:

在 ActionClass 中有如下代码如下
request.setAttribute("ItemsList",ItemsList);//set it in request scope

并使用下面的sn-p在对应的jsp页面中获取它
request.getAttribute("ItemsList"); //get it via request scope

如果它有效,请告诉我。

可能的替代解决方案是使用<logic:iterate> struts 标记迭代列表。

【讨论】:

  • 其实我一直在用你刚才写的代码。问题是当第一行数据有空值时。这意味着当我将数据放入 HashMap 时,当我尝试在 Jsp 页面中访问它时就会出现问题。任何实际避免这种方式的方法。还有什么方法可以使用 JstL 或 Struts 标签在视图上显示这些数据?
【解决方案2】:

还有另一种方法:

正如您所说,您要将所有哈希图数据放入列表中,首先要做一件事。将该列表作为字段放入 ActionForm 中。之后,从动作类中设置该列表。例如,如果您有员工,您将拥有 setEmployees() 之类的方法。 因此,您可以将列表设置为 empForm.setEmployees(employeeList);所有这些都将在您的操作类中。

接下来,表单 jsp 页面,您可以将值检索为 ${empForm.employees}

【讨论】:

    猜你喜欢
    • 2013-01-31
    • 1970-01-01
    • 2016-08-20
    • 2013-11-02
    • 1970-01-01
    • 2020-02-15
    • 2014-10-30
    • 1970-01-01
    • 2016-08-28
    相关资源
    最近更新 更多