JSF Добавить вклад в форму - PullRequest
1 голос
/ 09 марта 2011

Мне нужно предоставить пользователю кнопку ( CommandButton ) в форме, которая, нажав ее, может добавить TextInputs к форме.Но это не обязательно должно быть DHTML или AJAX

1 Ответ

1 голос
/ 09 марта 2011

Я писал этот код .. надеюсь решить вашу проблему,

Страница JSF:

<?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:h="http://java.sun.com/jsf/html">
<h:head>
    <title>Dynamic Input</title>
</h:head>
<h:body>
    <h:form>
 <h:dataTable id="textlist"  var="tbox" value="#{Bean.inputList}">
  <h:column>
      <h:inputText value="#{tbox}"/>
  </h:column>
</h:dataTable>
        <h:commandButton action="#{Bean.addInput}" value="Add Textbox"/>
    </h:form>
</h:body>
</html>

Bean:

import java.util.ArrayList;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;


@ManagedBean(name="Bean")
@ViewScoped
public class Bean implements java.io.Serializable {
private ArrayList inputList;
/** Creates a new instance of Bean */
public Bean() {
   inputList=new ArrayList();
    inputList.add(inputList.size());
}

public void addInput(){
     inputList.add(inputList.size());
}

public ArrayList getInputList() {
    return inputList;
}

public void setInputList(ArrayList inputList) {
    this.inputList = inputList;
}

}

Это работает ... как начало. Вы можете увидеть, можете ли вы изменить код для соответствия вашим целям. :)

Я не знаю, существует ли какой-либо другой подход для добавления динамических элементов управления в JSF 2.0

...