【问题标题】:PrimeFaces chips does not add items [duplicate]PrimeFaces芯片不添加项目[重复]
【发布时间】:2021-12-26 12:31:01
【问题描述】:

部署此代码后,我进入浏览器并在输入字段中输入一些数据,然后按 Enter。它应该向芯片添加文本,但我不知道为什么请帮助。

xhtml代码

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:ui="http://java.sun.com/jsf/facelets"
          xmlns:h="http://java.sun.com/jsf/html"
          xmlns:f="http://java.sun.com/jsf/core"
          xmlns:p="http://primefaces.org/ui">
        <h:head>
            <title>Chips</title>  
        </h:head>
        <h:body>
            Chips
            <br/>
            <h:form>
                <h:panelGrid columns="2">
                    <p:outputLabel value="Add Color"/>
                    <p:chips />
                    <p:outputLabel for="display" value="Avaiable Colors"/>
                    <p:chips id="display" value="#{colors.colors}"/>
                </h:panelGrid>
            </h:form>
        </h:body>
    </html>

我将这个 java 类用于 xhtml 并使用 JSF 和 PrimeFaces。

@ViewScoped
@Data
@Named
public class Colors implements Serializable{
    private List<String> colors;
    
    @PostConstruct
    public void init() {
        colors = new ArrayList<>();
        colors.add("Red");
        colors.add("Blue");
        colors.add("Green");
        colors.add("Yellow");
        colors.add("Orange");
        colors.add("Purple");
    }
}

这是我的 pom.xml 文件,可能这里缺少某些东西。请帮助它看起来一切正常。

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>pl.mz</groupId>
    <artifactId>Primefaces-YtTutorial</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
        <failOnMissingWebXml>false</failOnMissingWebXml>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <jakarta.jakartaee-api.version>8.0.0</jakarta.jakartaee-api.version>
        <microprofile.version>3.0</microprofile.version>
        <mockito-core.version>3.1.0</mockito-core.version>
        <junit-jupiter.version>5.5.0</junit-jupiter.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>jakarta.platform</groupId>
            <artifactId>jakarta.jakartaee-api</artifactId>
            <version>${jakarta.jakartaee-api.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.eclipse.microprofile</groupId>
            <artifactId>microprofile</artifactId>
            <version>${microprofile.version}</version>
            <type>pom</type>
            <scope>provided</scope>
        </dependency>
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.20</version>
    <scope>provided</scope>
</dependency>

        <dependency>
    <groupId>org.primefaces</groupId>
    <artifactId>primefaces</artifactId>
    <version>11.0.0</version>
</dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <version>${junit-jupiter.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>${mockito-core.version}</version>
            <scope>test</scope>
        </dependency>
                <dependency>
                    <groupId>org.apache.commons</groupId>
                    <artifactId>commons-lang3</artifactId>
                    <version>3.12.0</version>
                </dependency>
    </dependencies>

    <build>
        <finalName>Primefaces-YtTutorial</finalName>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
            </plugin>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.22.2</version>
            </plugin>
        </plugins>
    </build>
</project>

【问题讨论】:

  • 你的&lt;p:chips /&gt; 没有绑定任何东西,所以它没有任何东西可以提交?
  • 它应该看起来像这里primefaces.org/showcase/ui/input/chips.xhtml?jfwid=4111f 你输入一些文字后输入它改变请检查这个。但在我的情况下,输入后什么都没有发生:(。即使我从链接复制代码,它对我来说也不起作用。

标签: jsf primefaces


【解决方案1】:

我添加了不可见的命令按钮,这开始工作正确。但我希望有人能更好地告诉我为什么要解决这个问题,或者会在我的代码中指出一些错误。我把我的解决方案留在这里。

        <h:form>         
        <h:panelGrid columns="2">
            <p:outputLabel value="Add Color"/>
            <p:chips/>
            <p:outputLabel for="display" value="Avaiable Colors"/>
            <p:chips id="display" value="#{colors.colors}"/>          
        </h:panelGrid>
        <p:commandButton rendered="false"/>
    </h:form>

【讨论】:

    猜你喜欢
    • 2020-09-02
    • 2017-08-15
    • 2020-11-01
    • 2016-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多