Hi Gaurav, It's me. Are you working on Struts?
Thanks, Krishna -----Original Message----- From: Gaurav Gupta [mailto:[EMAIL PROTECTED] Sent: Saturday, September 27, 2003 4:18 PM To: 'Struts Users Mailing List' Subject: RE: javax.servlet.ServletException: BeanUtils.populate Is it Krishna Mohan , previously with MTC India ?? sorry for botheration -----Original Message----- From: krishnamohan [mailto:[EMAIL PROTECTED] Sent: Saturday, September 27, 2003 3:56 PM To: [EMAIL PROTECTED] Subject: javax.servlet.ServletException: BeanUtils.populate Hi, I am writing a small page based on struts guidelines for creating map-backed forms. I am using struts 1.1. I have a jsp in which I have some dynamic fields. I used a for loop for these,currently. In the ActionForm, I have declared a HashMap for collecting values of these fields. However, when I submit the page, I am getting the error- javax.servlet.ServletException: BeanUtils.populate Root cause: java.lang.IllegalArgumentException: No bean specified. Pl. help me understand what went wrong. The following is the jsp page <%@ page language="java" session="true"%> <!-- Imports--> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <html:html locale="true"> <!--Apply Stylesheet--> <head> <link href="./layouts/PrimeCss.css" type="text/css" rel="stylesheet"> </head> <body norepeat bottommargin="0" leftmargin="0" rightmargin="0" topmargin="0" bgproperties="fixed"> <html:form action="/createQuestion" focus="questionName" name="createQuestionForm" type="com.trx.kms.questionbank.CreateQuestionForm"> <bean:message key="questionbank.createquestion.pagetitle"/> <bean:message key="questionbank.createquestion.name"/> <html:text property="questionName" style="width:195px" maxlength="100"/> <bean:message key="questionbank.createquestion.description"/> <html:textarea property="questionDesc" cols="65" rows="12"/> <% for (int i=0; i <=2; i++) { String name = "value(foo-" + i + ")"; %> <bean:message key="questionbank.createquestion.option"/> <html:text property="<%= name %>" /> <%} %> <html:image page="/layouts/submit.jpg" property="submit" onclick="onSubmitClick();"/> <html:image page="/layouts/cancel.jpg" property="reset" /> </html:form> </body> </html:html> The following is the ActionForm class package com.trx.kms.questionbank; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; import java.util.HashMap; import java.util.Map; import java.util.Iterator; public final class CreateQuestionForm extends ActionForm{ private String questionName=null; private String questionDesc=null; private String submit=null; private String reset=null; private final Map values = new HashMap(); public void setValue(String key, Object value) { values.put(key, value); } public Object getValue(String key) { return values.get(key); } public String getQuestionDesc() { return questionDesc; } public String getQuestionName() { return questionName; } public void setQuestionDesc(String string) { questionDesc = string; } public void setQuestionName(String string) { questionName = string; } public String getReset() { return reset; } public String getSubmit() { return submit; } public void setReset(String string) { reset = string; } public void setSubmit(String string) { submit = string; } public String getQuestions() { StringBuffer sb = new StringBuffer(); if ((values!=null && !values.isEmpty())) { Iterator it = values.keySet().iterator(); while (it.hasNext()) { String paramName = (String)it.next(); String paramValue = (String)values.get(paramName); sb.append(paramName); sb.append(paramValue); } } return sb.toString(); } public void reset(ActionMapping mapping, HttpServletRequest request) { this.questionName=null; this.questionDesc=null; } public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { ActionErrors errors = new ActionErrors(); return errors; } } The following is the action class package com.trx.kms.questionbank; import org.apache.struts.action.Action; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import javax.servlet.http.*; import javax.servlet.*; import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.Iterator; public final class CreateQuestionAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { String questions=((CreateQuestionForm)form).getQuestions(); ActionErrors errors = new ActionErrors(); if (!errors.isEmpty()) { saveErrors(request, errors); return (new ActionForward(mapping.getInput())); } return (mapping.findForward("success")); } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]