spring - 如何将更动态的结构传递给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 理解结构?
解决方案
推荐阅读
- r - 将对应于同一对值“A”和“B”的数据帧col“C”中的值分配/连接到第二个数据帧。R - dplyr
- python-3.x - 从 Mac 终端多次运行 python 文件
- c# - 如果还需要对象类型参数,如何在字符串类型的函数中传递参数?
- rdlc - 检查 RDLC 中的十进制值为零
- c++ - ELI5:`int *p[]` 的数据类型是什么
- node.js - 带有对 Lambda 函数和 JSON 有效负载的 POST 请求的 Kong 服务
- c - 使用结构成员定义变量
- c# - c# NetworkStream BeginRead 看似覆盖字节
- python - Python - Raspberry pi GPIO 到 SQlite3 - 带时间戳的高/Lov
- php - 如何在 Json 响应中添加密钥?