我有一個評分矢量作爲我的作業類的屬性。將編輯框控件綁定到託管bean中的特定Vector元素?
我在xpage上有一個編輯框,我想編輯該值並將其寫回管理bean中的Vector。編輯框的值綁定爲: <xp:this.value><![CDATA[#{rpt.scores[rowIndex]}]]></xp:this.value>
其中rpt
是來自我的bean的Assignment對象。編輯框處於重複控制之中,因爲我不知道每次有多少學生將參加測試。所以我使用重複控制的rowIndex
來標識我想要綁定的分數向量的哪個元素。
它正確地從Scores Vector中讀取值,但我似乎無法更改該值並將其寫回到Vector中。
如何獲取它以將值寫回到Assignment類的Scores [n]元素中?
這裏是從我的豆的分配類:
package com.logickey.gradebook;
import java.io.Serializable;
import java.util.Vector;
public class Assignment implements Serializable {
/**
*
*/
private static final long serialVersionUID = -1500382996574385949L;
private String Name;
private String Teacher;
private String AssignNum;
private String AssignDate;
private Vector<String> Scores;
public Assignment() {
Name = "";
Teacher = "";
AssignNum = "";
AssignDate = "";
Scores = new Vector<String>();
}
public Assignment(String name, String teacher, String assignNum, String assignDate, Vector<String> scores){
Name = name;
Teacher = teacher;
AssignNum = assignNum;
AssignDate = assignDate;
Scores = scores;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public String getTeacher() {
return Teacher;
}
public void setTeacher(String teacher) {
Teacher = teacher;
}
public String getAssignNum() {
return AssignNum;
}
public void setAssignNum(String assignNum) {
AssignNum = assignNum;
}
public String getAssignDate() {
return AssignDate;
}
public void setAssignDate(String assignDate) {
AssignDate = assignDate;
}
public Vector<String> getScores() {
return Scores;
}
public void addScore(String input) {
if (Scores==null) {
Scores = new Vector<String>();
}
Scores.add(input);
}
}
重複控制需要綁定不是你的rpt對象,但rpt.Scores – stwissel
Stephan的說法正確:術語「bean」指的是遵循一組約定的Java類,其中兩個已經遵循:無參數的構造函數並實現Serializable。第三種是將所有屬性封裝在「getters」和「setters」中。如果你沒有getter和setter,它不是一個bean,它是一個POJO(「普通的舊Java對象」)。術語「託管bean」意味着Domino正在爲您管理變量名稱和範圍,但將其註冊爲託管bean並不會使其成爲一個bean ......遵守bean約定會使其成爲一個bean。 :) –
謝謝斯蒂芬,你的建議是非常有用的。我已經寫了lotusscript永遠,我仍然在學習Domino/XPages開發的Java方面。 – tylernaas