:数据库的CRUD!在那种情况下,我必须做几个类 CreateAction UpdateAction.. 其次是 CreateAction-validation.xml 和 UpdateAction-validation.xml ......但是在这里我遇到了更新和读取之间的对象创建和变量的问题..我的 ID必须使用无效从一个表单传递到另一个表单。我有 3 个表单用于创建、列出、编辑……将参数从列表传递到编辑……我遇到了问题……我创建了一个额外的对象数据库编辑和我从另一种形式获取它..但是对象的创建是在类 Action 上,这就是为什么我必须使用一个包含所有 CRUD 的 Action ..即使我使用静态...仍然是 null java lang 异常。 ..
这是我的表格数据库
<s:form action="createDb" method="POST" onsubmit="return valider()" id="frmSaisie">
<s:if test="dbs.size">
<table border="1px">
<tr>
<td>ID</td>
<td>DataBase</td>
<td></td>
</tr>
<s:iterator value="dbs">
<tr>
<td> <s:property value="dbaId"/> </td>
<td> <s:property value="dba"/></td>
<td class="tab-td">
<s:url id="update" action="redirect">
<s:param name="databaseEdited.dba" value="dba"/>
<s:param name="databaseEdited.dbaId" value="dbaId"/>
</s:url>
<s:a href="%{update}">Edit</s:a>
</td >
<td class="tab-td">
<s:url id="delete" action="deletingDb">
<s:param name="databaseDeleted.dbaId" value="dbaId"/>
</s:url>
<s:a href="%{delete}"> Delete</s:a>
</td >
</tr>
</s:iterator>
</table>
</s:if>
我的数据库编辑表格
<s:form action="updatingDb" method="post" >
<s:div>
<% as you see i get params from databaseEdited object but the id i ought to put it manually in action class --%>
<s:textfield label="DataBase" name="databaseEdited.dba" id=DB />
</s:div>
<br>
<s:submit value="Submit" />
<s:reset key="Cancel"/>
</s:form>
在我的行动课上:
package com.consoft.cv.action;
import java.util.ArrayList;
import java.util.List;
import javax.naming.Context;
import javax.naming.InitialContext;
import com.consoft.cv.entity.*;
import com.consoft.cv.model.*;
import com.opensymphony.xwork2.ActionSupport;
public class DBAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private DBMBLocal DBEjb;
private DB database;
private DB databaseEdited;
private DB databaseDeleted;
private List<DB> dbs;
private static int uid;
public DBAction(){
try {
Context context=new InitialContext();
DBEjb=(DBMBLocal) ( context.lookup("DBMB/local"));
dbs=new ArrayList<DB>();
} catch (Exception e) {
e.printStackTrace();
}
}
public String findAll() {
this.dbs=DBEjb.findAll();
return "success";
}
public String create()
{
DBEjb.create(database);
return "success";
}
public String update()
{//the UID got from redirect method
databaseEdited.setDbaId(uid);
DBEjb.update(databaseEdited);
return "success";
}
public String delete()
{
DBEjb.delete(databaseDeleted);
return "success";
}
public String redirect()
{
//this is the key cause HERE I CAN KEEP PASS THE ID TO Update method
**uid=databaseEdited.getDbaId();**
return "success";
}
当然有getter和setter
由于这些问题,我无法使用 struts2 验证