如何使用 Struts 编程从数据库中打印数据并显示在 ftl 页面上
How to print data from database using Struts programming and to display on ftl page
我正在尝试使用 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";
}
}
那个 table POOLNAME 和 DESCRIPTION 的内容应该打印在这个页面上
在显示 DESCRIPTION 和 POOLNAME 时遇到问题,如
图片,请在 link 中查找图片 我没有获得正确的资源。
来自数据库层的数据 return 应该被构造为对象。您不能只使用 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);
}
如果要returnfreemarker结果,动作配置要有对应的结果类型。
<action name="display" class="DisplayAction">
<result type="freemarker">/messages.ftl</result>
</action>
结果文件包含一个 table,在每条记录上显示一个数据对象。
<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 页面上
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";
}
}
那个 table POOLNAME 和 DESCRIPTION 的内容应该打印在这个页面上
在显示 DESCRIPTION 和 POOLNAME 时遇到问题,如 图片,请在 link 中查找图片 我没有获得正确的资源。
来自数据库层的数据 return 应该被构造为对象。您不能只使用 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);
}
如果要returnfreemarker结果,动作配置要有对应的结果类型。
<action name="display" class="DisplayAction">
<result type="freemarker">/messages.ftl</result>
</action>
结果文件包含一个 table,在每条记录上显示一个数据对象。
<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>