嗨,我目前正在使用 primefaces 开发一个 java 项目 (jsf),并且我正在使用枚举,但我无法使用 primefaces 从视图中访问它的值。我已经通过从 Bean 创建一个 getter 并访问枚举值暂时解决了这个问题,但它应该默认使用 allSuffix = "ALL_ENUM_VALU,jsf,primefaces,joinfaces"/>

首页 > 解决方案 > 无法访问 primefaces 中的后缀或枚举值

嗨,我目前正在使用 primefaces 开发一个 java 项目 (jsf),并且我正在使用枚举,但我无法使用 primefaces 从视图中访问它的值。我已经通过从 Bean 创建一个 getter 并访问枚举值暂时解决了这个问题,但它应该默认使用 allSuffix = "ALL_ENUM_VALU

问题描述

嗨,我目前正在使用 primefaces 开发一个 java 项目 (jsf),并且我正在使用枚举,但我无法使用 primefaces 从视图中访问它的值。我已经通过从 Bean 创建一个 getter 并访问枚举值暂时解决了这个问题,但它应该默认使用 allSuffix = "ALL_ENUM_VALUES" 或 ALL_VALUES,我不知道这是否是 primefaces、joinfaces 或我的问题我失踪了。我已经查看了官方文档,它应该可以工作......任何解决方案?

我的代码是


<p:importEnum
        type="com.path.enumeration.AltoMedioBajo"
        var="AltoMedioBajo"
        allSuffix="ALL_ENUM_VALUES" />

                    <p:outputLabel
                        for="posibilidad"
                        value="#{informe_msg.posibilidad}" />
                    <p:selectOneMenu
                        id="posibilidad"
                        style="width: 150px"
                        value="#{informeSeguimientoDto.specification.posibilidad}">
                        <f:selectItem
                            itemLabel=""
                            itemValue="" />
                        <f:selectItems
                            value="#{AltoMedioBajo.ALL_ENUM_VALUES}"
                            var="posibilidad"
                            itemValue="#{posibilidad}"
                            itemLabel="#{peticion_msg[posibilidad.femKey]}" />
                    </p:selectOneMenu> ```



执行 TX 特定 block.timestamp

我正在寻求快速帮助,我有一个智能合约,其功能包括“require (block.timestamp > 1610406000)”

如何在正确的区块中执行交易?

假设在 1610405998 开采了一个区块 -> 这将失败

然后在 1610406005 开采一个区块 -> 会成功

我怎样才能进入 1610406005 的街区。我想知道如何进入第一个有效街区。

我已经尝试订阅新区块,并根据新区块发送交易。但有时 3 秒内有 3 个区块。我确实为此任务使用了节点 web3 脚本。

有没有可能知道下一个 block.timestamp 是什么时候?

感谢您在我需要搜索更多信息的地方提供任何帮助或指示:)

标签: jsfprimefacesjoinfaces

解决方案


嗨,这个问题在这里得到了回答:How to use enum values in f:selectItem(s)

使用连接面我测试了这个例子:

用户 Bean

@Named
@ApplicationScoped
public class UserBean {

    public Role[] getRoles() {
        return Role.values();
    }
}

add_user.xhtml

<p:selectOneMenu id="roleId" value="#{userBean.newUser.roleId}">
                    <f:selectItem itemValue="" itemLabel=""/>
                    <f:selectItems value="#{userBean.roles}" var="role" itemValue="#{role.getId()}" itemLabel="#{messages['role_' += role]}"/>
</p:selectOneMenu>

具有自定义顺序的角色枚举,您可以使用默认的 .ordinal() 值不是强制性的

public enum Role {
ASSISTANT(1),
ACCOUNTANT(4),
CASHIER(5),
ADMIN(10);

private final int id;

Role(int id) {
    this.id = id;
}

public int getId() {
    return id;
}
// method to get the Role using Id from the database
public static Role valueOf(int id) {
    return Arrays.stream(values())
            .filter(role -> role.id == id)
            .findFirst()
            .orElse(null);
}}

messages_es.properties作为资源包

role_ASSISTANT=Asistente
role_ACCOUNTANT=Contador
role_CASHIER=Cajero
role_ADMIN=Administrador

推荐阅读