2012-07-27 41 views
0

我在我的应用程序中使用了显示标记的表格,即使用spring web flow。我想在每一行都有一个复选框,一个允许我选择/全部选中按钮和一个按钮来执行功能的按钮。点击按钮后,该操作将执行一些数据库操作,并且页面应该呈现,因此我们可以看到这些更改。在一个视图中有多个表单。 Spring web flow + displaytag +复选框

我不知道这可能是最好的选择,提交全表

<form method="POST" (more params)> 
    <display:table id="row"> 
      .... 
    </display:table> 
</form> 

或仅复选框列。我这种情况下,我不知道如何实现它。

我试了两种不同的方法: 1.使用简单的输入文本,复选框类型。这是不可能的,因为当我提交表单时,我需要设置另一个page.jsp的路径(我正在使用流)。此外,我不知道如何将这些值发送到java后端。

  1. 使用弹簧标签。 在这种情况下,问题就来了蒙山类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> 

FormAg gregation.java

@Component("formAggregation") 
public class FormAggregation { 
    private Model1 model1; 
    private Model2 model2; 
//Getters and setters 

我需要这个聚合,因为我需要这两种模型。我已经一一测试过,并且按照希望工作。任何想法呢?

谢谢!

+0

我不知道为什么,没有显示我的代码,第二件: < form:form method =“POST”commandName =“conversationAction”> 2012-07-27 12:37:40

回答

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> 

流。XML

<var name="model1" class="com.project.Model1"/> 
... 
<transition on="workIds" to="overview" validate="false"> 
      <evaluate expression="actionBean.workIds(model1.chosenIds)" /> 
     </transition> 

Java类

public void workIds(List<Long> ids) { 

希望它可以帮助

相关问题