Как передать более динамическую структуру в jsp Spring Forms? - PullRequest
0 голосов
/ 01 мая 2019

У меня есть структура:

public class Tabl {

    String tableName;
    List<String> tableColumns;

    public Tabl() {

    }

    public String getTableName() {
        return tableName;
    }
    public void setTableName(String tableName) {
        this.tableName = tableName;
    }
    public List<String> getTableColumns() {
        return tableColumns;
    }
    public void setTableColumns(List<String> tableColumns) {
        this.tableColumns = tableColumns;
    }

}

Эта форма, так сказать, динамически эмулирует таблицу.У меня есть много простых таблиц с 1-2 столбцами, кроме идентификатора.У меня нет явного назначения полей, так как у меня есть только один динамический объект для их хранения.Суть моего вопроса в том, что я хочу передать этот объект tabl и подготовить форму Spring в jsp следующим образом (я передаю tableName из другого JSP, и все в порядке:

@RequestMapping(value = "/addnew/{tableName}")
    public String insertForm(@PathVariable("tableName") String tableName, Model m) {
        Tabl tabl = new Tabl();
        tabl.setTableName(tableName);
        List<String> cols = spravochnikService.selectCols(tableName); //prepares structure by getting column names of the needed table (except the id): for example tableName=Employee, cols are firstname and lastname
        tabl.setTableColumns(cols);
        m.addAttribute("command", tabl);
        return "insert_form"
}

insert_form.jsp:

                    <f:form action="${url_csave}">
                        <table border="1">
                        <c:forEach var="col" items="${command.tableColumns}">
                        <tr>
                            <td>
                                <c:out value="col" />
                                <f:input path="col" />
                            </td>
                        </tr>

                        </c:forEach>
                            <tr>                                
                                <td colspan="2" align="right">
                                    <button>Save</button>                                
                                </td>
                            </tr>
                        </table>
                    </f:form>

Когда я пытаюсь это сделать, он говорит недопустимое свойство "firstname" и недопустимый метод getter. У меня, конечно, не может быть явного getter, поскольку все мои таблицы находятся в одной динамической сущности.заставить Spring Forms понять структуру?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...