java - 单击primefaces中的命令按钮时如何添加多个空输入文本

标签 java jsf primefaces

感谢 Makky 的帮助!!!

产业化经理

                          <p:column styleClass="columnB" style="width:15%">
                            <ui:repeat var="input" value="#{bean.inputTexts}">
                                  <p:inputText size="15" value="#{input}" />
                          </ui:repeat>

                          <b style="padding: 0px 0px 0px 18px"> 
                          <p:commandButton value="Add Manager" actionListener="#{bean.addInput}" update="tbl"  
                              style=" margin-bottom:10px;width:auto;height:28px;font-style: normal; font-family:Arial;font-size: 13px; color: #000000;
                                      text-align:center;font-weight: normal;text-decoration:none;cursor: pointer" /></b> 

                            </p:column> 
                        </p:row>

最佳答案

我将为您提供一个示例,它将帮助您实现这一目标。您最终将添加自己的代码以使其适用于您的解决方案。

网络 XHTML 文件

<!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:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui">

<h:head>
    <title>Dummy Test</title>
    <link rel=" stylesheet" type="text/css" href="css/style.css"></link>

    <h:body>

        <br />
        <h:form id="form">
            <p:messages autoUpdate="true" showDetail="true" id="messages"></p:messages>
            <p:dataTable id="tbl" value="#{bean.dummyNames}" var="val">
                <p:column>
            #{val}
            </p:column>


                <p:column colspan="4">
                    <p:column styleClass="columnA" style="vertical-align:top;">Industrialization Manager</p:column>

                    <p:column styleClass="columnB" style="width:15%">
                        <ui:repeat var="input" value="#{bean.inputTexts}">
                            <p:inputText size="15" value="#{input}" />
                        </ui:repeat>

                        <b style="padding: 0px 0px 0px 18px"> <p:commandButton
                                value="Add Manager" actionListener="#{bean.addInput}"
                                update="tbl,messages"
                                style=" margin-bottom:10px;width:auto;height:28px;font-style: normal; font-family:Arial;font-size: 13px; color: #000000;
                                          text-align:center;font-weight: normal;text-decoration:none;cursor: pointer ">

                            </p:commandButton>
                        </b>

                    </p:column>
                </p:column>
            </p:dataTable>

        </h:form>


    </h:body>

</h:head>

托管 bean:

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;

@ManagedBean(name = "bean")
@SessionScoped
public class TestBean implements Serializable {
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private List<String> dummyNames;
    private String selectedName;
    private List<String> inputTexts;

    public TestBean() {
        dummyNames = new ArrayList<String>();
        dummyNames.add("AK");
        inputTexts = new ArrayList<String>();
        inputTexts.add("");

    }

    public void addInput(ActionEvent e) {
        if (inputTexts.size() == 5) {
            System.out.println("excedded limit");
            return;
        }
        inputTexts.add("");

    }

    public List<String> getDummyNames() {
        return dummyNames;
    }

    public void setDummyNames(List<String> dummyNames) {
        this.dummyNames = dummyNames;
    }

    public String getSelectedName() {
        return selectedName;
    }

    public void setSelectedName(String selectedName) {
        this.selectedName = selectedName;
    }

    public List<String> getInputTexts() {
        return inputTexts;
    }

    public void setInputTexts(List<String> inputTexts) {
        this.inputTexts = inputTexts;
    }

}

输出

On loading page

点击“添加管理员”后

After adding manager

关于java - 单击primefaces中的命令按钮时如何添加多个空输入文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20743245/

相关文章:

java - 从 HDD 或 OS 缓冲区缓存或 RAM DISK 读取文件所需的时间几乎相同

java - 通过其他线程更新 javafx 上的 listview

java - MessageSecurityMetadataSourceRegistry 的 Spring-Security jar 在哪里

javascript - 使用 Bootstrap 选择

validation - 转义具有必填字段的 primefaces/jsf 页面

css - 如何修复 Primefaces Datatable 列宽并实现内部单元格滚动

jsf-2 - PrimeFaces。渲染后更新数据表

java - 当我尝试使用 maven 和 pom.xml 更改输出目录时出现错误

java - 理解如何创建实体管理器或者我是否可以在 JAVA EE 中生成它们的问题

jsf - p :calendar 中的 MM/dd/yyyy 格式