i have implemented the Struts2 validation framework, it is working fine. But
I want these error-messages in a small popup screen with a ok button, when
this popup is closed the focus should go to the field that has an error.

Or is there any way by which we can use additional javascript onsubmit other
than by the dynamically generating default javascript.

=================================================================

2nd Query:

I have a form in which there is a list of cities which is fetching from the
database using...

<s:select name="appform.CCity" key="appform_CCity" required="true"
tooltip="If your City has been not listed in the dropdown, please specify it
in the Address Box"
         headerKey="" headerValue="-------- Select City--------" 
list="%{city}"/>

but when I am trying to use :

 if(appform.getEduInstitute().equals(""))
                         {
                            addActionError("ERROR in Field No. 10: Please state 
the marks
you have obtained at the following levels.");
                            return ERROR;
                         }

the logs are showing the error in fetching the list of the cities 

 Jul, 2011 11:03:22 AM org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet jsp threw exception
tag 'select', field 'list', name 'appform.CCity': The requested list key
'%{city}' 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:351)
        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:856)
        at org.apache.struts2.components.UIBean.end(UIBean.java:510)
        at
org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
        at
org.apache.jsp.pages.application.OLAppForm_jsp._jspx_meth_s_005fselect_005f1(OLAppForm_jsp.java:1223)
        at
org.apache.jsp.pages.application.OLAppForm_jsp._jspx_meth_s_005fform_005f0(OLAppForm_jsp.java:541)
        at
org.apache.jsp.pages.application.OLAppForm_jsp._jspService(OLAppForm_jsp.java:223)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
        at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
        at
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
        at
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
        at
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
        at
org.apache.jasper.runtime.PageContextImpl.doInclude(PageContextImpl.java:653)
        at
org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:647)
        at
org.apache.tiles.jsp.context.JspTilesRequestContext.include(JspTilesRequestContext.java:103)
        at
org.apache.tiles.jsp.context.JspTilesRequestContext.dispatch(JspTilesRequestContext.java:96)
        at
org.apache.tiles.renderer.impl.UntypedAttributeRenderer.write(UntypedAttributeRenderer.java:61)
        at
org.apache.tiles.renderer.impl.AbstractBaseAttributeRenderer.render(AbstractBaseAttributeRenderer.java:103)
        at
org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:659)
        at
org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:337)
        at
org.apache.tiles.jsp.taglib.InsertAttributeTag.render(InsertAttributeTag.java:234)
        at
org.apache.tiles.jsp.taglib.InsertAttributeTag.render(InsertAttributeTag.java:211)
        at org.apache.tiles.jsp.taglib.RenderTag.doEndTag(RenderTag.java:220)
        at
org.apache.jsp.Tiles.CandidateBaseLayout_jsp._jspx_meth_tiles_005finsertAttribute_005f3(CandidateBaseLayout_jsp.java:251)
        at
org.apache.jsp.Tiles.CandidateBaseLayout_jsp._jspService(CandidateBaseLayout_jsp.java:109)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
        at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
        at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
        at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
        at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
        at
org.apache.tiles.servlet.context.ServletTilesRequestContext.forward(ServletTilesRequestContext.java:241)
        at
org.apache.tiles.servlet.context.ServletTilesRequestContext.dispatch(ServletTilesRequestContext.java:222)
        at
org.apache.tiles.renderer.impl.TemplateAttributeRenderer.write(TemplateAttributeRenderer.java:44)
        at
org.apache.tiles.renderer.impl.AbstractBaseAttributeRenderer.render(AbstractBaseAttributeRenderer.java:103)
        at
org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:659)
        at
org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:678)
        at
org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:633)
        at
org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:322)
        at
org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:105)
        at
org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)
        at
com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:361)
        at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:265)
        at
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:163)
        at
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
        at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
        at
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:249)
        at
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
        at
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
        at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
        at
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
        at
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
        at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
        at
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
        at
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468)
        at
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:662)

then I tried using SCOPE Interceptor and modified my struts.xml file as:

<action name="ApplyOL" class="net.Candidate.application.ApplyAction">
        <interceptor-ref name="basicStack"/>
        <interceptor-ref name="validation"/>
        <interceptor-ref name="workflow"/>
        <interceptor-ref name="scope">
        appform.CCity, state
        ACTION
        start
        true
        </interceptor-ref>
<result name="input" type="tiles">Apply</result>
<result name="error" type="tiles">Apply</result>
<result name="success" type="tiles">OLAppForm</result>
</action>

<action name="Submitappform"
class="net.Candidate.application.action.SubmitAppFormAction" method="add">
        <interceptor-ref name="basicStack"/>
        <interceptor-ref name="validation"/>
        <interceptor-ref name="workflow"/>
        <interceptor-ref name="scope">
        appform.CCity, state
        ACTION
        start
        true
        </interceptor-ref>
<result name="input" type="tiles">OLAppForm</result>
<result name="error" type="tiles">OLAppForm</result>
<result name="success" type="tiles">AppFormSubmitSuccess</result>
</action>

and tried changing city as #session[city]
but same error in the log....

Since on submit my action is changing from ApplyOL.ncra to
Submitappform.ncra so how can I manage to retain the city list as well as
there is email parameter which is also showing null.

--
View this message in context: 
http://struts.1045723.n5.nabble.com/Scope-Interceptor-and-Struts2-Validation-query-tp4554566p4554566.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