我想让我的集合从包含生成List < Pair < Integer, String>>列表的迭代器的相应< s:TextFiedl >中更新。
下面是我所做的,但是列表是空的,或者包含空值。
行动:
public class ManageRegleArithmetiqueAction extends ActionSupport implements Preparable, JspDataPovider {
private List<Pair<Integer, String>> propositionNumLabelList = new ArrayList<Pair<Integer,String>>();
public void setPropositionNumLabelList(List<Pair<Integer, String>> propositionNumLabelList) {
this.propositionNumLabelList = propositionNumLabelList;
}
public List<Pair<Integer, String>> getPropositionNumLabelList() {
return propositionNumLabelList;
}
}JSP:
<s:iterator value="propositionNumLabelList" var="pair" status="status">
<tr>
<td CLASS="IHMText">
<s:textfield key="propositionNumLabelList[%{#status.index}].cle" id="%{'propositionNum_' + #status.index}" />
</td>
<td CLASS="IHMText">
<s:textfield key="propositionNumLabelList[%{#status.index}].valeur" id="%{'propositionLabel_' + #status.index}" />
</td>
</tr>
</s:iterator>对类:
public class Pair<S, T> implements Serializable {
public Pair(S cle, T valeur) {
super();
this.cle = cle;
this.valeur = valeur;
}
private static final long serialVersionUID = 7231580297094672707L;
private S cle;
private T valeur;
public S getCle() {
return cle;
}
public void setCle(S cle) {
this.cle = cle;
}
public T getValeur() {
return valeur;
}
public void setValeur(T valeur) {
this.valeur = valeur;
}
public static <S, T> Pair<S, T> ofKeyAndValue(S cle, T valeur) {
return new Pair<S, T>(cle, valeur);
}
}发布于 2017-03-21 19:32:25
应该向Pair类添加默认构造函数。没有它,Struts就无法在填充操作属性时实例化bean。如果Struts知道如何实例化定义了该属性的类,则可以填充操作属性。如果需要设置嵌套属性,这也是正确的。默认情况下,如果属性在设置值之前未初始化,Struts将实例化类。
public Pair() {
}https://stackoverflow.com/questions/42931556
复制相似问题