我是Struts 1.3的新手。
我需要邀请一些人参与已经发送但尚未回答的民意调查。我已将这些人聚集在一个带有复选框的列表中,以便再次邀请他们参与投票。此列包含带有struts标记表单字段索引的动态字段。 (你不能邀请那些已经回答的人)
JSP视图:
<logic:iterate id="respondent" collection="${respondent}">
<logic:notEqual name="respondent" property="participation" value="true">
<html:checkbox indexed="true" property="participation" name="respondent" value="true"></html:checkbox>
</logic:notEqual>
</logic:iterate>
形式:
public class F_Invite extends org.apache.struts.action.ActionForm {
public F_Invite() {
super();
}
private Map<String, String> respondent = new HashMap<String, String>();
public void setRespondent(String key, String value) {
respondent.put(key, value);
}
public void setRespondent(Map<String, String> nut) {
this.encuestado = nut;
}
public Map<String, String> getRespondent(){
return this.encuestado;
}
public String getRespondent(String key) {
return encuestado.get(key);
}
public void reset(ActionMapping mapping, HttpServletRequest request) {
respondent.clear();
}
我在执行此操作时遇到NullPointerException:
F_Invite nonparticipants = (F_Invite) form;
Map<String, String> participantstoinvite = nonparticipants.getRespondent();
Iterator iter = participantstoinvite.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entrada = (Map.Entry) iter.next();
}
答案 0 :(得分:0)
假设其他一切都是正确的,因为所有细节都不在这里,我建议你改变
<logic:iterate id="respondent" collection="${respondent}">' to
'<logic:iterate **name**="respondent" collection="${respondent}">
你的要求并不清楚你的问题,感觉英语不是你的第一语言:)