`
energykey
  • 浏览: 593118 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Struts2 action execute 不执行

阅读更多
注意:本文并非validate()方法执行后不执行execute();

跟踪断点发现execute没有执行,于是纳闷了,因为struts2 默认的执行方法就是execute啊,而且其他action 都是这样的,原来是可以执行的,但现在执行不了了,对比新旧文件发现,在同一个包(package)下,不能同时使用默认execute和显示声明method="XX"的方式。

如果要同时使用,就另外声明一个包,这个我看的讲struts2的书里好像关于这个包的讲的很少,这也是我通过实际例子遇到错误总结出来的,具体原理有兴趣的自己去看源码研究了。

示例:
<!-- Javascript generate -->
	<package name="javascript" extends="struts-default">
		<action name="genJs" class="GenJS">
			<result name="chat" type="freemarker">
				/WEB-INF/templates/script/placii.chat.ftl
			</result>
			<result name="file" type="freemarker">
				/WEB-INF/templates/script/placii.file.ftl
			</result>
			<result name="meeting" type="freemarker">
				/WEB-INF/templates/script/placii.meeting.ftl
			</result>
		</action>
	</package>
	
	  <package name="pagesoffice" extends="struts-default">
		<action name="recentoffices" class="OfficeAction" method="findPagesOfficeRecentlyAdded">
            <result name="success" type="freemarker">
                /WEB-INF/templates/recentoffices.ftl
            </result>
        </action>
        <action name="recentupdateoffices" class="OfficeAction" method="findPagesOfficeRecentlyUpdated">
            <result name="success" type="freemarker">
                /WEB-INF/templates/recentoffices.ftl
            </result>
        </action>
       </package>


两个package中,第一个package默认使用execute方法,第二个package中,由于同一action类里有多个可执行方法,古显示声明method.

如果你将这两个包合并为一个包,即会发现默认的execute方法的action是不会执行execute的,但是action会执行,比如断点跟踪发现setXX()的方法是执行了的。
0
0
分享到:
评论

相关推荐

    Struts1与Struts2本质区别

    即使Action接口不是必须实现的,只有一个包含execute方法的POJO类都可以用作Struts 2的Action。 2 线程模式方面的对比:Struts 1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求...

    Struts2中Action中是否需要实现Execute方法

    主要介绍了Struts2中Action中是否需要实现Execute方法的相关资料,需要的朋友可以参考下

    struts1.0和struts2

    struts1和struts2的区别其实并不是太大,两者的区别: Action 类: ◆Struts1要求Action类继承一个抽象基类。...Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象。

    一个struts的action跳转大全

    首先,Struts的ActionServlet接收到一个请求,然后根据struts-config.xml的配置定位到相应的mapping (映射);接下来如果form的范围是request或者在定义的范围中找不到这个form,创建一个新的form实例;取得form...

    struts1和struts2的区别

    最后,和Struts1.x最大的革命性的不同是,Struts2处理Action过程中调用的方法(“execute”方法)是不带参数的。那如何获取所需要的对象呢?答案是使用IoC(反转控制,Inversion of Control),也叫“依赖注入...

    Struts2的特点

    2、action是一个pojo,所以struts2.0与框架的藕合度非常低。 实现Action时有时会继承于ActionSupport, 覆盖execute方法,从而创建一个Action。 因为ActionSupport提供了很多方法可以为开发提供方便。 3、...

    struts2.0.jar

    · POJO表单: Struts 2不支持ActionForms特性。ActionForms中定义的属性可以直接放在Action类上。不需要使用所有的String属性。 · 智能默认值: Struts 2配置文件中的大多数配置元素都会有默认值,所以不需要设定值...

    struts项目学习笔记

    Struts2 是一个非常优秀的MVC框架,基于Model2 设计模型 由传统Struts1和WebWork两个经典框架发展而来 Struts2框架=Struts2+XWork Strust2 核心功能 允许POJO(Plain Old Java Objects,简单javabean对象,没有继承,...

    struts2课件

    struts2课件 很好的struts2当输入login.jsp访问jsp页面填写完相关信息并提交给login.action时,它会...LoginAction内部会执行execute方法,并返回结果result(result也是参照的struts.xml中action下的result配置)。

    struts2配置2.5版

    &lt;action name="login" class="com.mytest.LoginAction" method="execute"&gt; &lt;result&gt; /login.jsp &lt;/action&gt; &lt;/struts&gt; &lt;!--1.使用 struts2.5.16 版本 2.lib 文件夹下放置:工程所需jar包 3.xml标签...

    用Struts2新建一个应用的方法步骤

    用Struts2新建一个应用的方法步骤用Struts2新建一个应用的方法步骤: 1.首先新建一个Web Project。File——new——Web Project,在Project Name中输入一个合法的名字。例如:struts2 2. 单击采单Window——...

    Struts2上传文件出错

    import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; public class UploadAction extends ActionSupport { // 上传文件存放路径 private final static String ...

    深入浅出Struts2(附源码)

    本书是广受赞誉的Struts 2优秀教程,它全面而深入地阐述了Struts 2的各个特性,并指导开发人员如何根据遇到的问题对症下药,选择使用最合适的特性。作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,...

    第一个struts程序

    1、login.jsp的form表格里的action是在struts.xml中&lt;action name="login" class="check.action.LoginAction"&gt;的name的属性的名字后面加上.action 例如:&lt;form action="login.action" method="post"&gt; 2、web.xml中 ...

    谈谈你对Struts的理解。

     4.action执行完后要返回显示的结果视图,这个结果视图是用一个ActionForward对象来表示的,actionforward对象通过struts-config.xml配置文件中的配置关联到某个jsp页面,因为程序中使用的是在struts-config.xml...

    struts2拦截器原理

    在action执行之前先进行拦截器的拦截处理,然后再执行action的execute方法,返回给拦截器,再对应相应result

    Struts in Action中文版

    2.6.2. Struts的强项........................................................................................................58 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM ...

Global site tag (gtag.js) - Google Analytics