首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法执行添加功能Struts2-jquery-grid来添加新数据

无法执行添加功能Struts2-jquery-grid来添加新数据
EN

Stack Overflow用户
提问于 2014-01-23 01:41:42
回答 1查看 177关注 0票数 0

我正在使用Struts2-jquery-grid工作,并且我能够编辑/删除现有条目。但是我在添加新条目时遇到了问题。我试着找出为什么add功能不起作用。我的所有代码都如下所示:

gridTable.jsp

代码语言:javascript
复制
<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

代码语言:javascript
复制
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

代码语言:javascript
复制
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

代码语言:javascript
复制
.....

我尝试执行添加功能,但失败了。你能告诉我到底是什么导致了这个问题吗?我执行了业务类中的代码,我发现代码工作得很好,并且能够添加新条目。但是它无法添加表单网格。

EN

回答 1

Stack Overflow用户

发布于 2014-10-16 00:56:29

即使您将第一列命名为bookId,网格仍将对具有key=true的列使用id。当您使用网格执行add时,将使用空值调用setId()。不能将原始类型设置为空,因此需要更改int id;属性和相关的getter/setter,以便使用Integer而不是int。这应该可以解决您的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21290067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档