产品表有3列(ID,名称和状态)。状态字段有两个值:“可用”和“NA”。该表的输出将根据产品可用性分为2个表格。
请点击链接了解详情: http://theproblemdomains789.blogspot.com/2013/11/sample-form.html
使用hibernate,我试图解决这个问题。输出没问题。但我想允许通过表单更新或编辑或添加新信息。更新正常,数据已成功更新。但是当我尝试通过表单添加新条目时,我无法添加。我的示例代码如下:
Bean定义:
public Product{
String histryId;
String name;
String status;
.....
}
动作类定义:
List<Product> dataList;
String[] histryId;
String[] name;
String[] status;
// getter and setter
......
public String viewProduct() {
....
return SUCCESS;
}
public String updateProduct() {
ProductBusiness pb = new ProductBusiness();
dataList = pb.updateProduct(name,histryId,status););
return SUCCESS;
}
public List<Product> updateProduct(String[] name, String[] histryId, String[] status) {
ProductDAO historyDAO = new ProductDAO();
for (int i = 0; i < historyId.length; i++) {
if (historyId[i] > 0) {
Product update = historyDAO.getEntryByID(Integer.toString(historyId[i]));
update.setName(name);
historyDAO.updateEntry(update);
}
else{
if (name[i].length()>0 && (status[i] == "Available") ) {
Product p = new Product();
p.setName(name);
historyDAO.updateEntry(p);
}
}
}
public void updateEntry(Product p) {
...
s.saveOrUpdate(p);
...
}
<s:iterator value="dataList">
<tr>
<td><s:textfield name="name"/></td>
<td><s:hidden name="historyId"/></td>
<td><s:hidden name="status" value="Available"/></td>
</tr>
</s:iterator>
有谁能告诉我我在这里做的错误是什么?
**数据正在成功更新。但是当我尝试添加新信息时,我无法添加信息。
答案 0 :(得分:2)
变化:
if (name[i].length()>0 && (status[i] == "Available")))
为:
if (name[i].length()>0 && (status[i].equals("Available")))
并阅读: