如何使用 Struts 编程从数据库打印数据并在 ftl 页面上显示
Posted
技术标签:
【中文标题】如何使用 Struts 编程从数据库打印数据并在 ftl 页面上显示【英文标题】:How to print data from database using Struts programming and to display on ftl page 【发布时间】:2015-09-30 05:51:49 【问题描述】:我正在尝试使用 Struts 编程从数据库中打印数据并显示在 ftl 页面上
public class DisplayAction
private List<String> data = new ArrayList<String>();
public List<String> getData()
return data;
public void setData(List<String> data)
this.data = data;
public String execute() throws SQLException, ClassNotFoundException
DisplayUtilService du = new DisplayUtilService();
ResultSet rs = du.method();
while (rs.next())
data.add(rs.getString(1));
data.add(rs.getString(2));
data.add(rs.getString(3));
data.add(rs.getString(4));
// data.add("message");
if (data.size() > 0)
return "success";
return "failure";
在 Freemarker 模板页面上显示 POOLNAME 和描述
private List<String> data = new ArrayList<String>();
public List<String> getData()
return data;
public void setData(List<String> data)
this.data = data;
public String execute() throws SQLException
DisplayUtilService du = new DisplayUtilService();
ResultSet rs = du.poolName();
while (rs.next())
data.add(rs.getString("POOLNAME"));// poolname is one of the column
// of table
data.add(rs.getString("DESCRIPTION"));
if (data.size() > 0)
return "success";enter code here
return "failure";
该表POOLNAME和DESCRIPTION的内容应该打印在这个页面上
这里遇到了显示DESCRIPTION和POOLNAME的问题,如 图片,请在link 中找到图片,我没有得到适当的资源。
【问题讨论】:
这里可以将数据提取到 FTL 页面。问题是从数据库中获取数据作为列表并按以下代码获取数据Pool Name Details.
但我必须显示我是否如图所示。请帮帮我 我不明白这个问题。 它很简单..我必须使用 struts 从 oracle 数据库中获取数据,并且我必须显示图像中给出的数据。先生没有任何资源来找到解决方案。所以请帮助我。这对我有很大的帮助。 通过上面的程序,我能够将数据提取到 ftl 页面,并将该数据作为列表获取。但我不知道如何对齐它。 您使用错误的数据结构将其传递给模板;你可以这样做,但我不会。使用具有适当字段的 DTO 并将 那些 放入列表中。 【参考方案1】:从 db 层返回的数据应该被结构化为对象。您不能只使用List<String>
来保存数据,因为您想以表格格式显示数据。创建一些对象来保存列值
public class Message
private String poolName;
private String description;
public Message (String poolName, String description)
this.poolName = poolName;
this.description = description;
public User getPoolName()
return poolName;
public String getDescription()
return description;
改变数据结构
private List<Message> data = new ArrayList<Message>();
public List<Message> getData()
return data;
填写数据
while (rs.next())
Message m = new Message(
rs.getString("POOLNAME"),// poolname is one of the column
// of table
rs.getString("DESCRIPTION"));
data.add(m);
如果要返回freemarker结果,action配置要有对应的结果类型。
<action name="display" class="DisplayAction">
<result type="freemarker">/messages.ftl</result>
</action>
结果文件包含一个表格,显示每条记录的数据对象。
<table>
<tr>
<td>POOLNAME</td>
<td>DESCRIPTION</td>
</tr>
<@s.iterator value="%data">
<tr>
<td>
<@s.property value="%poolName" />
</td>
<td>
<@s.property value="%description" />
</td>
</tr>
</@s.iterator>
</table>
【讨论】:
以上是关于如何使用 Struts 编程从数据库打印数据并在 ftl 页面上显示的主要内容,如果未能解决你的问题,请参考以下文章
如何从网站获取数据并在 excel 页面对象模型中打印,数据驱动和页面工厂这是混合框架