小弟初学Struts2,关于在struts.xml中的<action name="execute" class="org.struts2.test.HelloWorld">
这里的name 指定到底是什么呢?看了网上一个教程说是
。<action>标签中的name属性表示动作名,class表示动作类名。我觉得好像不是, 看《深入浅出Struts2》上面说
<action name="my" class="com.fdar.infoq.MyAction" >
<result>view.jsp</result>
</action>
“name”属性提供了执行Action所对应的URL地址,在这里就是“my.action”。“.action”的扩展名是在“struts.properties” 4文件中配置的。“class”属性指定了要执行的action所对应的类的全限定名。
有点晕

解决方案 »

  1.   

    <action name="my" class="com.fdar.infoq.MyAction" >
    <result>view.jsp</result>
    </action>name是在JSP页面在提交时使用的名称,如<form action="my.action" ...>
    class是action文件的路径.
    result是通过action方法进行跳转的JSP文件路径,如:
    <result name="manage">/system/manage_operators.jsp</result><package name="system" extends="default-website" namespace="/system">
      <action name="operatorAction" class="com.website.system.web.action.OperatorAction"> 
           <result name="manage">/system/manage_operators.jsp</result>
      </action>
    </package>
      

  2.   

    好像是这样的 action标签中 name 好像是后面Action的一个索引名称, 我在jsp页面中form action的值是my.action 的
      

  3.   

    http://struts.apache.org/2.1.6/docs/action-configuration.html看一下官方docThe action mappings are the basic "unit-of-work" in the framework. Essentially, the action maps an identifier to a handler class. When a request matches the action's name, the framework uses the mapping to determine how to process the request.
      

  4.   

    <action name="execute" class="org.struts2.test.HelloWorld">
    这里的name 是为了别处调用class="org.struts2.test.HelloWorld"> 这里的"org.struts2.test.HelloWorld">、类里的方法起的别名
    意思就是 你要调用org.struts2.test.HelloWorld类里的 syaHello()方法的别名   

    <action name="execute" class="org.struts2.test.HelloWorld" method="方法名称">
      

  5.   

    name属性就是url地址.“深入浅出”中讲的是对的,你只要看““name”属性提供了执行Action所对应的URL地址,在这里就是“my.action”。”这一句话就行了,后面那句话可以暂时不用看,慢慢的你就理解了。
      

  6.   

    我理解的那就是一个名字的映射
    也就是说用一个名字将相应的URL给对应起来,这样你只需要使用自己设定的名字就可以调用相应的action
      

  7.   

    就是一个映射  方便服务器查找action用