JSP - 保存集合

发布于 2024-07-13 12:12:35 字数 594 浏览 5 评论 0原文

[警告] 我是 JSP/Struts/JSTL 的新手。 这可能是一个新手问题:)

我有一个包含集合的表单:

public class ServiceForm extends AbstractForm
{   
    private List<SrvDO> allSrv = new ArrayList<SrvDO> ();  
}

我可以使用 JSP 在表单中正确查看对象数据。 该页面正确显示了 5 个输入框,其中包含数据库中的数据:

<c:forEach items="${serviceForm.allSrv}" var="srv">                     
    <html:text name="srv" property="nbDays"/>   
 </c:forEach>   

<html:submit/>

但是当我按下提交按钮时,表单不包含“nbDays”的更新数据。 我仍然看到与更新前显示的数据相同的数据。 我缺少什么对 struts 说:对于每个 srv,更新“nbDays”数据?

[Warning] I'm new to JSP/Struts/JSTL. This is probably a newbie question :)

I have a form that contains a collection:

public class ServiceForm extends AbstractForm
{   
    private List<SrvDO> allSrv = new ArrayList<SrvDO> ();  
}

I can see the object data correctly in my form using the JSP. The page displays 5 input box with the data from the database correctly:

<c:forEach items="${serviceForm.allSrv}" var="srv">                     
    <html:text name="srv" property="nbDays"/>   
 </c:forEach>   

<html:submit/>

But when I press the submit button, the form does not contains the updated data for "nbDays". I still see the same data as it was shown before the update. What am I missing that says to struts: for each srv, update the "nbDays" data?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

就此别过 2024-07-20 12:12:35

Spring 论坛上找到了答案:

您的 form:input 标签没有并且
不应该知道任何事实
它在另一个标签内使用。
这就是为什么你需要包括
索引。

所以解决办法是:

<html:text property="allSrv[${srvSta.index}].nbDays"/>

Found the answer on the spring forum:

Your form:input tag doesn't and
shouldn't know anything about the fact
that it is used inside another tag.
That is why you need to include the
index.

So the solution is:

<html:text property="allSrv[${srvSta.index}].nbDays"/>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文