You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Olve Sæther Hansen <ol...@uib.no> on 2004/08/19 21:37:36 UTC
submitting map-backed action forms
Given the following form, I am using a map backed form, basically as
described in:
http://struts.apache.org/userGuide/building_controller.html#map_action_form_classes
This form is in the QuestionGroupAction class as this:
* @struts.action name="mapValueForm" path="/answerQuestionGroup"
* parameter="action" scope="request"
*
* @struts.action name="mapValueForm" path="/openQuestionGroup"
* parameter="action" scope="request"
and the form is a part of openQuestionGroup.do.
<html:form action="answerQuestionGroup" method="post"
styleId="mapValueForm" >
<c:forEach var="question" items="${requestScope.questionList}">
<h4><c:out value="${question.title}"/> </h4>
<i><c:out value="${question.question}"/></i>
<div>
<%-- Todo: legg til innrykk--%>
<c:forEach var="alternative" items="${question.alternatives}">
<html-el:radio value="${alternative.id}"
property="value(${question.id})"/>
<%-- Here I am trying to get the value from mapValueForm --%>
<c:out value="${alternative.text}" /> <br>
</c:forEach>
</div>
<div class="separator"></div>
</c:forEach>
<html:submit styleClass="button" property="action" onclick="bCancel=false">
<bean:message key="button.answerQuestionnaire"/>
</html:submit>
</html:form>
Everything works except submitting the form. How can I hook the
properties from the radio button to the map form?
I found some suggestions to put idName="mapValueForm" (my form name):
<html-el:radio value="${alternative.id}" property="value(${question.id})"/>
to
<html-el:radio value="${alternative.id}"
property="value(${question.id})" idName="mapValueForm"/>
which instead of the previous error gives me this one (3 is the id of
one of the radiobuttons, fetched from db and set correctly):
javax.servlet.jsp.JspException: No getter method available for property
3 for bean under name mapValueForm
at
org.apache.struts.taglib.html.BaseHandlerTag.lookupProperty(BaseHandlerTag.java:927)
at
org.apache.struts.taglib.html.RadioTag.serverValue(RadioTag.java:232)
at org.apache.struts.taglib.html.RadioTag.doStartTag(RadioTag.java:212)
at
org.apache.strutsel.taglib.html.ELRadioTag.doStartTag(ELRadioTag.java:547)
at
org.apache.jsp.WEB_002dINF.pages.questionRenderer_jsp._jspx_meth_html$1el_radio_0(questionRenderer_jsp.java:353)
at
org.apache.jsp.WEB_002dINF.pages.questionRenderer_jsp._jspx_meth_c_forEach_1(questionRenderer_jsp.java:314)
at
org.apache.jsp.WEB_002dINF.pages.questionRenderer_jsp._jspService(questionRenderer_jsp.java:165)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:704)
at
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:590)
at
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:510)
at
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
at
org.apache.jsp.WEB_002dINF.pages.questions_jsp._jspService(questions_jsp.java:45)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapp
I have struggled with this problem a few days now.. Hope anyone who can
help me?
I have read some messages on this list concerning almost the same
problem. They gave me enough help to get where I am now, but now I am
completely stuck, and a bit fed up with struts (or at my incompetence)...
Thanks,
--
Olve S. Hansen