我的应用程序中有一个使用display标签的表,即使用spring web flow。我想在每一行都有一个复选框,一个允许我选择/使用全部按钮和一个按钮来执行一个功能。单击按钮后,操作将执行一些数据库操作,页面应该呈现,因此我们可以看到这些更改。
我不知道哪个是最好的选择,提交整个表格
<form method="POST" (more params)>
<display:table id="row">
....
</display:table>
</form>
或仅限复选框列。在这种情况下,我不知道如何实现它。
我尝试了两种不同的方法: 1.使用简单的输入文本,复选框类型。这是不可能的,因为当我提交表单时,我需要设置另一个page.jsp的路径(我正在使用流程)。此外,我不知道如何将这些值发送到java后端。
conversationAction
我找到了一些examples,但总是使用MVC和控制器案例。
我怎样才能实现这个问题?
修改 我找到了一种解决方案,但我遇到了一个新问题...
flow.xml
var name="model1" class="com.project.Model1"/>
var name="model2" class="com.project.Model2"/>
view-state id="overview" model="formAggregation">
...
</view-state>
page.jsp
form:form modelAttribute="formAggregation.model1" id="overviewForm">
...
/form:form>
...
form:form method="POST" modelAttribute="formAggregation.model2">
display:table id="row" name="displayTagValueList" requestURI="overview?_eventId=tableAction">
display:column title="">
form:checkbox path="conversationIds" value="${row.threadId}"/>
/display:column>
/display:table>
input type="submit" name="_eventId_oneFunction" value="Send>>"/>
/form:form>
FormAggregation.java
@Component("formAggregation")
public class FormAggregation {
private Model1 model1;
private Model2 model2;
//Getters and setters
我需要这个聚合器,因为我需要两个模型。我已经逐一测试了它,它正在按照自己的意愿工作。任何想法??
谢谢!
答案 0 :(得分:0)
我找不到在视图状态下添加两个模型的解决方案。所以我做了一个解决方法,将我需要的字段添加到我正在使用的模型com.project.Model1
。结果是:
<强> page.jsp 强>
<form:form method="POST" id="tableForm" modelAttribute="model1">
<display:table id="row">
<display:column title="">
<form:checkbox path="chosenIds" value="${row.id}"/>
</display:column>
<display:footer>
<div class="tableFooter" >
<input type="submit" name="_eventId_workIds" value="Send"/>
</div>
</display:footer>
</display:table>
</form:form>
<强> flow.xml 强>
<var name="model1" class="com.project.Model1"/>
...
<transition on="workIds" to="overview" validate="false">
<evaluate expression="actionBean.workIds(model1.chosenIds)" />
</transition>
java class
public void workIds(List<Long> ids) {
希望有所帮助