JSF 2 和 JavaScript - 提交大量的>没有那么多设置者的项目

发布于 2024-11-01 13:23:13 字数 115 浏览 4 评论 0原文

我有一个包含大约 90 项的表格。有没有一种方法可以收集生成的值,而无需在服务器端设置那么多设置器?我无法解析使用 JavaScript 生成的列表/数组/对象吗?这对我有很大帮助。

非常感谢, 马丁

I have a form with around 90 items. Is there a way to collect the generated values without having that many setters on the server side? can't I parse a list/array/object that I generate with JavaScript? It would help me a lot.

Many thanks,
Martijn

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

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

发布评论

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

评论(1

可遇━不可求 2024-11-08 13:23:13

创建一个Map 属性。

@ManagedBean
@ViewScoped
public class Bean {

    private Map<String, String> selectedItems = new HashMap<String, String>();

    public Map<String, String> getSelectedItems() {
        return selectedItems;
    }

    // ...
}

可以用作

<h:selectOneMenu value="#{bean.selectedItems.one}">
    ...
</h:selectOneMenu>

or

<h:selectOneMenu value="#{bean.selectedItems['one']}">
    ...
</h:selectOneMenu>

这里 one 成为地图键,所选项目成为地图值。

(是的,不需要设置器!)


更新另一种方法是使用 < h:selectOneMenu> 列中。这样您就可以只使用一个 List getter(不需要任何 setter)。另请参阅此问题的答案 举个例子。

Create a Map property.

@ManagedBean
@ViewScoped
public class Bean {

    private Map<String, String> selectedItems = new HashMap<String, String>();

    public Map<String, String> getSelectedItems() {
        return selectedItems;
    }

    // ...
}

Which can be used as

<h:selectOneMenu value="#{bean.selectedItems.one}">
    ...
</h:selectOneMenu>

or

<h:selectOneMenu value="#{bean.selectedItems['one']}">
    ...
</h:selectOneMenu>

Here one becomes the map key and the selected item becomes the map value.

(yes, no setter is required!)


Update an alternative is to have a <h:dataTable> with a <h:selectOneMenu> in the column. This way you can just use a single List<Item> getter (no one setter is required). See also the answer on this question for an example.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文