我正在使用Struts2-jquery-grid工作,并且我能够编辑/删除现有条目。但是我在添加新条目时遇到了问题。我试着找出为什么add功能不起作用。我的所有代码都如下所示:
gridTable.jsp
<s:url var="remoteurl" action="jsonFormatDate" />
<sj:head jqueryui="true" jquerytheme="redmond" />
<sjg:grid id="gridtable"
dataType="json"
href="%{remoteurl}"
pager="true"
gridModel="gridModel"
editurl="gridTableEdit"
navigator="true"
navigatorAdd="true"
navigatorEdit="true"
navigatorDelete="true"
>
<sjg:gridColumn name="bookID" index="bookID" title="bookID" sortable="true" editable="true" hidden="false" key="true"/>
<sjg:gridColumn name="bookTitle" index="bookTitle" title="bookTitle" editable="true" />
</sjg:grid>动作层ridTable.java
public class GridTable extends ActionSupport {
int id;
String oper;
String bookTitle;
//getter and setter
// display the grid into the jsp page
public String gridTableDisplay() {
return SUCCESS;
}
public String gridTableEdit() {
if (oper.equalsIgnoreCase("add")) {
BookBusiness business = new Business();
business.addBook(bookTitle);
}
else if (oper.equalsIgnoreCase("edit")) {
BookBusiness business = new Business();
business.editBook(bookTitle);
}
else if (oper.equalsIgnoreCase("del")) {
BookBusiness business = new Business();
business.deleteBook(bookTitle);
}
return SUCCESS;
}
}业务层BookBusiness.java
public void addBook(String bookTitle) {
BookDAO dao = new BookDAO();
Book newBook = new Book();
newBook.setTitle(bookTitle)
dao.updateBook(newBook);
}
public Book editBook(....) {
...
}
public void deleteBook(...) {
....
}DAO层BookDAO.java
.....我尝试执行添加功能,但失败了。你能告诉我到底是什么导致了这个问题吗?我执行了业务类中的代码,我发现代码工作得很好,并且能够添加新条目。但是它无法添加表单网格。
发布于 2014-10-16 00:56:29
即使您将第一列命名为bookId,网格仍将对具有key=true的列使用id。当您使用网格执行add时,将使用空值调用setId()。不能将原始类型设置为空,因此需要更改int id;属性和相关的getter/setter,以便使用Integer而不是int。这应该可以解决您的问题。
https://stackoverflow.com/questions/21290067
复制相似问题