1

我有键作为字符串和值作为列表的映射。并想在我的阔叶管理页面中展示这个。

protected Map<String, List<SkuStoneDetails>> skuStoneDetails = new HashMap<String, List<SkuStoneDetails>>();

以前我有映射键作为字符串和值作为对象,如下所示。

    protected Map<String, SkuStoneDetails> skuStoneDetails = new HashMap<String,<SkuStoneDetails>();

为此,我给出了如下的管理演示。

    @AdminPresentationMap(friendlyName = "Sku StoneDetails",
    tab = ProductImpl.Presentation.Tab.Name.Stone_Details, tabOrder = ProductImpl.Presentation.Tab.Order.SkuStoneDetails,
        //tab = Presentation.Tab.Name.Advanced, tabOrder = Presentation.Tab.Order.Advanced,
        //group = ProductImpl.Presentation.Group.Name.RPPrice, groupOrder = ProductImpl.Presentation.Group.Order.RPPrice,
    keyPropertyFriendlyName = "Sku StoneDetails Key",
    deleteEntityUponRemove = true,
    mediaField = "stoneType",
    forceFreeFormKeys = true
)

我不知道如何将值作为地图中的列表来执行此操作。请帮助我。

4

1 回答 1

2

我们目前不通过@AdminPresentationMap 在Broadleaf 中支持具有值列表的地图。随时在https://github.com/BroadleafCommerce/BroadleafCommerce/issues提出新功能请求。

我认为你最好的选择是像以前那样做。或者,您可以执行以下操作:

public class SkuStone {
    @Column(name = "KEY")
    @AdminPresentation(friendlyNmae = "Sku StoneDetails Key")
    protected String key

    @OneToMany
    @AdminPresentationCollection(friendlyName = "Sku Stone Details")
    protected List<SkuStoneDetails> details = new ArrayList<SkuStoneDetails>();
}

然后代替protected Map<String, List<SkuStoneDetails>> skuStoneDetails = new HashMap<String, List<SkuStoneDetails>>();

@AdminPresentationCollection()
protected List<SkuStone> stones = new ArrayList<SkuStone>();
于 2015-01-08T07:56:37.113 回答