Thanks Greg, that tutorial helped me a lot... I cleared the issue by using
Prepare Interceptor and everything works fine now... I'm still not that much
clear on resolving the issue with <s:action> tag but I will look into that a
little later...

Thanks again to u & chris for giving ur inputs

~Muthu 


Greg Lindholm wrote:
> 
> Have you looked at this?
> 
> http://struts.apache.org/2.1.6/docs/how-do-we-repopulate-controls-when-validation-fails.html
> 
> 
> 
> Muthu Velappan wrote:
>> 
>> Thanks for the reply, Chris.. 
>> 
>> My problem is that in there is no two separate actions for loading and
>> submitting the data back from this JSP.. To be precise, while loading the
>> page it will use the input() method where as while submitting it will use
>> the execute() method in my Action class
>> 
>> Actual headache when the validator throws error, the control will not
>> even come to execute() method and I believe that's correct. Hence, it
>> throws the error. 
>> 
>> Can you please eloborate this point in ur mail.. 
>> "create a small action that gives you the Map and use the <s:action> tag
>> as you populate the select"
>>  
>> I believe this will clear my issue but right now I don't know how to
>> implement this.. Since, I'm new to this Struts development, If you could
>> just point me to any tutorial or sample that would be great...
>> 
>> Thanks
>> ~Muthu
>> 
>> 
>> musomesa wrote:
>>> 
>>> 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
>>> 
>>> 
>>> 
>>> 
>> 
>> 
> 
> 

-- 
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-tp22490368p22520930.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

Reply via email to