首页 > 解决方案 > 如何将更动态的结构传递给jsp Spring Forms?

问题描述

我有一个结构:

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;
    }

}

可以说,这种形式正在动态模拟表格。我有很多简单的表,除了 id 之外,还有 1-2 列。我没有明确的字段分配,因为我只有一个动态实体来保存它们。我的问题的重点是我想传递这个 tabl 对象并像这样在 jsp 中准备一个 Spring 表单(我从另一个 JSP 传递 tableName 并且没关系:

@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>

当我尝试这样做时,它说无效的属性“名字”和无效的 getter 方法。我当然不能有一个明确的吸气剂,因为我所有的表都在一个动态实体中。如何让 Spring Forms 理解结构?

标签: springspring-mvc

解决方案


推荐阅读