0
从来就p的动态列表:selectOneRadio,即是这样的:我该如何向我的managedbean发送p:selectOneRadio数据列表?
1 op1 op2 op3
2 op1 op2 op3
3 op1 op2 op3
所以,当我让我的提交我想知道被选定为第1行的选项,并选择了行的选项2和第3行选择了哪个选项。 我的问题是我只能得到最后选择的选项。 这里是我的XHTML:
<ui:repeat var="o" value="#{perfilesMB.numbers}" varStatus="status">
<p:selectOneRadio value="#{perfilesMB.number}">
<p:ajax listener="#{perfilesMB.handleCityChange}" />
<f:selectItem itemLabel="Option 1" itemValue="1" />
<f:selectItem itemLabel="Option 2" itemValue="2" />
<f:selectItem itemLabel="Option 3" itemValue="3" />
</p:selectOneRadio>
</ui:repeat>
这里是我管理的Bean:
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Arrays;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import org.springframework.dao.DataAccessException;
import javax.faces.context.FacesContext;
import javax.faces.application.FacesMessage;
import org.primefaces.event.RowEditEvent;
@ManagedBean(name="perfilesMB")
//@RequestScoped
@SessionScoped
public class PerfilesManagedBean implements Serializable{
private List<String> numbers;
private String number;
public List<String> getNumbers() {
return numbers;
}
public void setNumbers(List<String> numbers) {
this.numbers = numbers;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
//private String nivel;
//private int id_seccion;
public PerfilesManagedBean() {
niveles = new ArrayList<String>();
numbers = new ArrayList<String>();
for (int i = 0; i < 3; i++) {
numbers.add("" + i);
}
}
public String sendData(){
System.out.println("Number: " + number);
return "";
}
}
如何解决呢? 在此先感谢
由于它的工作结合的阵列或列表,数字中的对应元件,像完美 – linker85
为什么不'值=” #{perfilesMB.numbers [status.index]}“'? – BalusC
@BalusC因为从OP的问题来看,特别是来自bean的构造函数,这个列表应该被用于选项,也就是说,可能的''代替了硬编码。 –
skuntsel