我正在使用Struts创建一个应用程序,我从数据库和学校列表中获取人员列表然后我使用html:select这样用户就可以为每个元素选择学校,这里是jsp页面的一部分我被卡住了.
<display:table id="list" name="myForm.list" >
<display:column title="ID" property="id"/>
<display:column title="Name" property="name" sortable="true"/>
<display:column title="School" >
<html:select property="idSchool">
<logic:notEmpty name="myForm" property="SchoolCombo">
<bean:define id="SchoolCombo" name="myForm" property="SchoolCombo"/>
<html:options collection="SchoolCombo" property="id" labelProperty="name"/>
</logic:notEmpty>
</html:select>
</display:column>
</display:table>
Run Code Online (Sandbox Code Playgroud)
myForm上的列表是具有id,名称和idSchool的人员列表,这是一个没有初始值的int.学校组合是来自数据库的具有id和名称的学校列表.
我能做什么,对于列表中的每个元素,我可以在jsp页面上设置idSchool,然后,我可以使用表单来更新存储该人的表格以及他所在的学校?
如果我不够清楚,请问我可以更好地解释问题.
据我了解,我为您提供了这个问题的通用解决方案,您必须完成完整解决方案所需的额外工作。我通过使用 Struts2 来解释这一点,<s:tag>
因此您可以根据您的要求进行更改。首先,放置您要迭代列表的位置,并将唯一元素添加为隐藏字段。这些隐藏字段可以在服务器端从请求参数列表中检索。当您单击任何记录时,它会通过您设置为隐藏字段的唯一 ID 进行识别(下面将解释 ItemRec)。
<s:iterator value="TheListOfItems" status="ItemRec">
<s:hidden name="TheListOfItems[%{#ItemRec.index}].id" value="%{id}" />
<s:hidden name="TheListOfItems[%{#ItemRec.index}].attribut2" value="%{attribut2}" />
<s:hidden name="TheListOfItems[%{#ItemRec.index}].attribut3" value="%{attribut3}" />
<the actual values/records get iterated here>
</s:iterator>
Run Code Online (Sandbox Code Playgroud)
在服务器端,您可以执行以下操作来检索它们,如下所示
String id= getRequest().getParameter("id");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
721 次 |
最近记录: |