【发布时间】:2013-03-29 15:47:08
【问题描述】:
我正在尝试这样做
- 在我的操作中从 db 获取对象列表 (OK)
- 在 JSP 上打印(OK)
- 此列表作为 JSP 中的可编辑表出现。我想修改然后将其提交回相同的操作以将其保存在我的数据库中(失败。当我使用
<s:submit action="myaction" method="mymethod">我之前从 db 填充的列表现在为空。我该如何解决?
我发现了一些关于 struts2 拦截器的话题,通过反射将数据注入 myaction。
public class CurrentOra {
private int idCommessa;
private String descrizioneCommessa;
private int idCliente;
private String descrizioneCliente;
private List<OreTimesheetGiorno> orePerCommessa;
public int getIdCommessa() {
return idCommessa;
}
}
和
public class OreTimesheetGiorno {
private int numeroGiorno;
private OreTimesheet oreTimesheet;
public int getNumeroGiorno() {
return numeroGiorno;
}
public void setNumeroGiorno(int numeroGiorno) {
this.numeroGiorno = numeroGiorno;
}
public OreTimesheet getOreTimesheet() {
return oreTimesheet;
}
public void setOreTimesheet(OreTimesheet oreTimesheet) {
this.oreTimesheet = oreTimesheet;
}
}
这是我的对象结构,在 JSP 中我用它打印出来
<s:iterator value="listOre" >
<tr class="giornoSettimana giornoUno">
<td><s:property value="descrizioneCliente"/></td>
<td><s:property value="descrizioneCommessa"/></td>
<s:iterator value="orePerCommessa">
<td>
<input type="text"
class="oreConsuntivazione"
maxlength="2"
giorno = "<s:property value="numeroGiorno" />"
value="<s:property value="oreTimesheet.numeroOre" />">
</td>
</s:iterator>
</tr>
</s:iterator>
基本上我需要迭代以向客户展示每个客户的工作时间。然后我应该可以每小时编辑一次并将其保存回数据库
【问题讨论】:
-
当然
List是null- 您的操作会随着每个传入请求重新生成。您需要从网页返回一些 something 来告诉操作要删除什么。 This 应该给你一个起点。 -
注意这一点:当您从页面上的表单提交时,所有表单元素都包含在请求中。这意味着如果您想从表单提交信息,它必须存储在表单中的表单元素中。将您的清单放入表格中。
-
我要提交的所有字段都在表单内。我只有一个列表有问题。我从 jsp>action 传递输入没有问题。仅当我使用
打印列表时出现问题,因为标签迭代器没有 name 属性来绑定请求并将其发送回操作.. -
使用隐藏字段。并展示你的 JSP。
-
发布对象结构
标签: java jsp struts2 form-submit