Looks like your JSP pulls the data from one action, which I will call A, and posts to another action, EditField. When there is an error you are bounced back to the JSP (assuming 'input' leads back to this JSP but now the JSP is trying to populate the select from a property called fieldTypeMap on EditField instead of fieldTypeMap on A. There is probably no such property on EditField and so it gives you the stacktrace.
Quick and dirty solution is to create such a propertyon the EditField action. If you want to avoid code duplication you could create a small action that gives you the Map and use the <s:action> tag as you populate the select. Cheers Chris aka musomesa -----Original Message----- From: Muthu Velappan <muthu.velap...@aspiresys.com> To: user@struts.apache.org Sent: Fri, 13 Mar 2009 2:12 pm Subject: org.apache.jasper.JasperException: tag 'select', field 'list', name 'fieldTypeID' Hi, I have a JSP page containing data like this... <s:form name="form1" theme="qxhtml"> <s:bean name="java.util.HashMap" id="qTableLayout"> <s:param name="tablecolspan" value="%{2}" /> </s:bean> <s:textfield name="fieldName" required="true" key="fieldmgmt.fieldname"> <s:param name="rowstyle" value="%{'row21'}" /> </s:textfield> <s:textfield name="displayName" required="true" key="fieldmgmt.displayname"> <s:param name="rowstyle" value="%{'row31'}" /> </s:textfield> <s:select list="fieldTypeMap" name="fieldTypeID" key="fieldmgmt.fieldtype"> <s:param name="rowstyle" value="%{'row31'}" /> </s:select> <s:submit value="Save Changes" align="center" cssClass="buttonstyle1" action="EditField"> <s:param name="rowstyle" value="%{'row31'}" /> </s:submit> </s:form> this page works fine in first load.. However, I end up getting problem when there is any validation error occured fieldname or displayname fields. The select box values are not loaded properly in this case, It shows a big stack trace like the one shown below. I found that map is not loaded back in this Validator error loop but I don't know how to fix this.. Can any one throw some light on how to clear this out... SEVERE: Servlet.service() for servlet jsp threw exception tag 'select', field 'list', name 'fieldTypeID': The requested list key 'fieldTypeMap' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location] at org.apache.struts2.components.Component.fieldError(Component.java:230) at org.apache.struts2.components.Component.findValue(Component.java:292) at org.apache.struts2.components.ListUIBean.evaluateExtraParams(ListUIBean.java:80) at org.apache.struts2.components.Select.evaluateExtraParams(Select.java:105) at org.apache.struts2.components.UIBean.evaluateParams(UIBean.java:858) at org.apache.struts2.components.UIBean.end(UIBean.java:509) at org.apache.struts2.views.j sp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42) .... .... 2009-03-13 10:16:04,002 ERROR (CommonsLogger.java:error:28) - java.security.PrivilegedActionException: org.apache.jasper.JasperException: tag 'select', field 'list', name 'fieldTypeID': The requested list key 'fieldTypeMap' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location] at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:396) at com.aspire.propel.web.membership.SecurityInterceptor.intercept(SecurityInterceptor.java:49) at com.google.inject.struts2.GuiceObjectFactory$LazyLoadedInterceptor.intercept(GuiceObjectFactory.java:171) at com.opensymphony.xwork2.DefaultActionInvocation$1.doProfiling(DefaultActionInvocation.java:230) at com.opensymphony.xwork2.DefaultActionInvocation$1.doProfiling(DefaultActionInvocation.java:229) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:456) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:227) at com.aspire.propel.transaction.TransactionActionInterceptor$1.executeTransaction(TransactionActionInterceptor.java:58) at com.aspire.propel.transaction.TransactionManager.executeTransaction(TransactionManager.java:82) at com.aspire.propel.transaction.TransactionActionInterceptor.intercept(TransactionActionInterceptor.java:54) at com.google.inject.struts2.GuiceObjectFactory$LazyLoadedInterceptor.intercept(GuiceObjectFactory.java:171) .... .... at java.lang.Thread.run(Thread.java:619) Caused by: org.apache.jasper.JasperException: tag 'select', field 'list', name 'fieldTypeID': The requested list key 'fieldTypeMap' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location] at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:541) a t org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:435) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) ... ... ... 61 more Advance Thanks for any help.. ~Muthu -- View this message in context: http://www.nabble.com/org.apache.jasper.JasperException%3A-tag-%27select%27%2C-field-%27list%27%2C-name-%27fieldTypeID%27-tp22490368p22490368.html Sent from the Struts - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org