unless otherwise specified webappName is segment following localhost:port 
in your case IteratorKFC

Action classes map URLS via struts configuration maps URL path-names to action 
classes via action-mapping in struts*.xml e.g

<!--any URL with webappName "/employee" falls into this package specifier -->
   <package name="employee" extends="default" namespace="/employee">
        <default-interceptor-ref name="crudStack"/>

<!--any URL with webappName /employee/ "list" falls into this action -->
        <action name="list" 
class="org.apache.struts2.showcase.action.EmployeeAction" method="list">
            <result>/empmanager/listEmployees.jsp</result>
            <interceptor-ref name="basicStack"/>
        </action>

<!--any URL with webappName /employee/ edit-* falls into this action specifier 
-->
        <action name="edit-*" 
class="org.apache.struts2.showcase.action.EmployeeAction">

so in your case the action name *should be* menu in struts*xml

did you have a specific question?
Martin 
________________


> Date: Fri, 20 Jun 2014 18:13:57 +0530
> Subject: Re: need help on struts.xml configuration using Struts 2.3, Tomcat 
> 7, Java JDK 1.6
> From: yaragallamur...@gmail.com
> To: user@struts.apache.org
> 
> localhost:8080/IteratorKFC/menu.action .         there is some problem in
> this. where is the webapp name?
> 
> *Thanks and Regards,*
> Muralidhar Yaragalla.
> 
> *http://yaragalla.blogspot.in/ <http://yaragalla.blogspot.in/>*
> 
> 
> On Fri, Jun 20, 2014 at 5:03 PM, Tri Quan <quans...@wans.net> wrote:
> 
> > All,
> >
> >                 I am green horn in Struts 2 and need help with struts.xml.
> > I got the following error when try this URL :
> >
> > localhost:8080/IteratorKFC/menu  or localhost:8080/IteratorKFC/menu.action
> > .
> >
> >
> >
> >
> >
> >
> >                 what is wrong ?  Incorrect configuration or incorrect URL ?
> >
> >
> >
> > Struts has detected an unhandled exception:
> >
> > There is no Action mapped for namespace / and action name menu. - [unknown
> > location]
> >
> >
> > com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:1
> > 89)
> >
> >
> >
> > org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
> >
> >
> >
> > org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsAct
> > ionProxyFactory.java:39)
> >
> >
> >
> > com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultA
> > ctionProxyFactory.java:58)
> >
> >
> > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
> >
> >
> >
> > org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.jav
> > a:434)
> >
> >
> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> > FilterChain.java:243)
> >
> >
> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> > ain.java:210)
> >
> >
> >
> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
> > va:240)
> >
> >
> >
> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
> > va:164)
> >
> >
> >
> > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase
> > .java:462)
> >
> >
> >
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164
> > )
> >
> >
> >
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100
> > )
> >
> >
> > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
> >
> >
> >
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
> > :118)
> >
> >
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403)
> >
> >
> > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:301)
> >
> >
> >
> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http
> > 11Protocol.java:162)
> >
> >
> >
> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http
> > 11Protocol.java:140)
> >
> >
> >
> > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:
> > 309)
> >
> >     java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
> >
> >     java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> >
> >     java.lang.Thread.run(Unknown Source)
> >
> >
> >
> > Strut.xml source ========================================
> >
> > <?xml version="1.0" encoding="UTF-8" ?>
> >
> > <!DOCTYPE struts PUBLIC
> >
> > "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
> >
> > "http://struts.apache.org/dtds/struts-2.0.dtd";>
> >
> >
> >
> > <struts>
> >
> >
> >
> >     <!-- Configuration for the default package. -->
> >
> >    <!-- <constant name="struts.action.extension" value=""/>  -->
> >
> >
> >
> >     <constant name="struts.devMode" value="true" />
> >
> >     <package name="IteratorKFC" namespace="/IteratorKFC"
> > extends="struts-default">
> >
> >         <action name="menu" class="iteratorkfc.IteratorKFCAction"
> > method="execute">
> >
> >                                 <result
> > name="success">pages/iteratorkfc.jsp</result>
> >
> >                 </action>
> >
> >     </package>
> >
> > </struts>
> >
> >
> >
> > ItertorKFCAction java ==========================================
> >
> > package iteratorkfc;
> >
> > import java.util.*;
> >
> >
> >
> > import com.opensymphony.xwork2.ActionSupport;
> >
> > public class IteratorKFCAction extends ActionSupport{
> >
> >     private List<String> comboMeals;
> >
> >
> >
> >                 public List<String> getComboMeals() {
> >
> >                                 return comboMeals;
> >
> >                 }
> >
> >
> >
> >                 public void setComboMeals(List<String> comboMeals) {
> >
> >                                 this.comboMeals = comboMeals;
> >
> >                 }
> >
> >
> >
> >     @Override
> >
> >                 public String execute() {
> >
> >
> >
> >                                 comboMeals = new ArrayList<String>();
> >
> >                                 comboMeals.add("Snack Plate");
> >
> >                                 comboMeals.add("Dinner Plate");
> >
> >                                 comboMeals.add("Colonel Chicken Rice
> > Combo");
> >
> >                                 comboMeals.add("Colonel Burger");
> >
> >                                 comboMeals.add("O.R. Fillet Burger");
> >
> >                                 comboMeals.add("Zinger Burger");
> >
> >
> >
> >                                 return SUCCESS;
> >
> >                 }
> >
> >
> >
> > }
> >
> >
> >
> > Jsp ============================================
> >
> > <%@ page contentType="text/html; charset=UTF-8" %>
> >
> > <%@ taglib prefix="s" uri="/struts-tags" %>
> >
> >
> >
> > <html>
> >
> >     <head>
> >
> >         <title><s:text name="Struts2 Iterator "/></title>
> >
> >     </head>
> >
> >
> >
> > <body>
> >
> >    <h1>Struts 2 Iterator tag example</h1>
> >
> >
> >
> >    <h3>Simple Iterator</h3>
> >
> >     <ol>
> >
> >         <s:iterator value="comboMeals">
> >
> >             <li><s:property /></li>
> >
> >         </s:iterator>
> >
> >     </ol>
> >
> >
> >
> >   <h3>Iterator with IteratorStatus</h3>
> >
> >     <table>
> >
> >     <s:iterator value="comboMeals" status="comboMealsStatus">
> >
> >         <tr>
> >
> >             <s:if test="#comboMealsStatus.even == true">
> >
> >                 <td style="background: #CCCCCC"><s:property/></td>
> >
> >             </s:if>
> >
> >             <s:elseif test="#comboMealsStatus.first == true">
> >
> >                 <td><s:property/> (This is first value) </td>
> >
> >             </s:elseif>
> >
> >             <s:else>
> >
> >                 <td><s:property/></td>
> >
> >             </s:else>
> >
> >         </tr>
> >
> >     </s:iterator>
> >
> >     </table>
> >
> >
> >
> > </body>
> >
> > </html>
> >
> >
> >
> >
> >
> >
> >
> >
> > Thank you for your help and advices.
> >
> > Tri Quan
> >
> >
                                          

Reply via email to