0

我是 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();            

    }
4

1 回答 1

0

假设其他一切都是正确的,因为所有细节都不是这里的问题,我建议你改变

<logic:iterate id="respondent" collection="${respondent}">' to '<logic:iterate **name**="respondent" collection="${respondent}">

您的问题并不清楚您的要求,感觉英语不是您的第一语言:)

于 2013-03-02T19:44:26.670 回答