Невозможно выполнить функцию добавления Struts2-jquery-grid для добавления новых данных.

Я работаю с помощью Struts2-jquery-grid, и я могу редактировать / удалять существующие записи. Но я столкнулся с проблемой, чтобы добавить новую запись. Я попытался выяснить, почему не работает функция добавления. Все мои коды похожи на следующие:

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]

.....

Я пытался выполнить функцию добавления, но не смог. Можете ли вы сказать мне, что именно вызывает проблему? Я выполнил код из бизнес-класса и обнаружил, что код работает нормально и в него можно добавить новую запись. Но он не может добавить сетку формы.

1 ответ

Даже если вы назвали первый столбец bookId, сетка будет использовать id для столбца, который имеет key=true, Когда вы используете сетку для выполнения добавления, setId() будет вызван со значением ноль. Вы не можете установить нулевой тип примитива, поэтому вам нужно изменить int id; свойство и связанный метод получения / установки для использования Integer вместо int, Это должно решить вашу проблему.

Другие вопросы по тегам