此类为action的继承的类,其中主要以下几个方法:
1)execute
2)addErrors
3)addMessages
4)saveErrors
5)saveMessages
其中excute方法为
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
return null;
}
是真正要调用执行的方法,因此在继承后要重写此方法,action类中的execute什么都没做,只是返回了一个null
如果我们在继承的action类中,不重写此方法,那么我们自己的action将什么也不做。很显然struts是通知这个方法
作为入口来执行我的action部门,包括把参数传入逻辑类(javabean)和进行转向等操作。
addErrors和saveErrors已被addMessages和saveMessages取代,
而addMessages和saveMessages的作用就是把一些信息返回给前台,用于<html:messages显示用的。
-----------------------------------------------------------------------------------------------
protected void addMessages(HttpServletRequest request,
ActionMessages messages) {
if (messages == null) {
// bad programmer! *slap*
return;
}
// get any existing messages from the request, or make a new one
ActionMessages requestMessages =
(ActionMessages) request.getAttribute(Globals.MESSAGE_KEY);
//Globals.MESSAGE_KEY为org.apache.struts.action.ACTION_MESSAGE
if (requestMessages == null) {
requestMessages = new ActionMessages();
}
// add incoming messages
requestMessages.add(messages);
// if still empty, just wipe it out from the request
if (requestMessages.isEmpty()) {
request.removeAttribute(Globals.MESSAGE_KEY);
return;
}
// Save the messages
request.setAttribute(Globals.MESSAGE_KEY, requestMessages);
}
注:addMessages的主要作用,就是把定义的ActionMessages加入到request中去。同时如果request中原来有的话,将会合并远来的ActionMessages
然后再保存在request中。
而saveMessages不同,他会在保存前把原来相同的名称ActionMessages进行清除,然后保存自己,因此可以确定saveMessages永远
只保存最后一个ActionMessages到request中。
--------------------------------------------------------------------------------------------------------
protected void saveMessages(HttpServletRequest request,
ActionMessages messages) {
// Remove any messages attribute if none are required
if ((messages == null) || messages.isEmpty()) {
request.removeAttribute(Globals.MESSAGE_KEY);
return;
}
// Save the messages we need
request.setAttribute(Globals.MESSAGE_KEY, messages);
}
说明:saveMessages有两个名称相同,但参数不同的方法。有一个是把ActionMessages保存在request中,有一个保存在session中。
分享到:
相关推荐
`GroupAction.java`可能是Spring MVC中的Controller,负责接收HTTP请求,调用`PageUtil`处理分页查询,并将结果返回给前端。 `Page.java`看起来是一个自定义的Page对象,包含了分页数据的基本信息,如总记录数、...
通过JAVA反射技术对HttpServlet进行简单封装,类似于struts框架,页面请求过来的参数名只需要与Action<T> T这个Bean里的变量对应即可,getForm()就是获得页面传过来的参数[注:当前这个只能传T里的string和int/...
| ServiceAction.java | Setting.java | StringParser.java | Transform.java | User.java | WpendingPair.java | +---META-INF | MANIFEST.MF | \---res +---128 | i.png | +---176 | i.png | \---240 i....
ActionServlet.java
大数据算法在数据分析中发挥着重要的作用,它可以提高分析工作的效率和准确性,为决策提供有力支持。具体来说,大数据算法可以分类、聚类、预测和关联规则分析等,从而发现数据之间的规律和关联关系,挖掘出潜在的...
Execute_button_action.java 响应所有在界面上的按钮的事件 IndexFrame.java 系统打开时候的首页 MainFrame.java 管理系统的功能界面 Operte_db.java 实现对数据库的所有操作 S_information.java 学生信息...
EarthForge 是一个用 Java 编写的基于块的 2D 生存游戏。它建立在 UtiliGame 引擎之上。...src/com/earthforge/obj/Action.java src/com/earthforge/obj/Biome.java src/com/earthforge/obj/Block.java
《Apress.Pro.Ajax.and.Java.Frameworks.Jul.2006.HAPPY.NEW.YEAR》这本书专注于探讨如何在Java环境中利用Ajax技术构建高效、交互性强的Web应用。Ajax(Asynchronous JavaScript and XML)是一种用于创建动态网页的...
Java Action在IT领域,尤其是Java Web开发中是一个重要的概念,主要与MVC(Model-View-Controller)设计模式相关。MVC模式是用于构建应用程序的一种结构化方法,它将业务逻辑、数据处理和用户界面分离,使得代码更...
action CheckBalance.java LoginAction.java ModifyPsw.java TransferAccountsAction.java UpdateBalance.java domin CardInfo.java start Login.java UI ...
- ImageAction.java:处理键盘输入。 - ImageFileChooser.java:扩展文件选择对话框。 - ImageFrame.java:负责界面显示和布局。 - ImageService.java:处理业务逻辑。 - Main.java:程序的主入口。 - MyImage.java...
14.9.4 发布控制器类EditAction.java 14.9.5 内容控制器类ContentAction.java 14.9.6 浏览内容的控制器类IndexAction.java 14.10 编写Struts的配置文件struts-config.xml 14.11 编写Spring和Hibernate的配置文件...
14.9.4 发布控制器类EditAction.java 14.9.5 内容控制器类ContentAction.java 14.9.6 浏览内容的控制器类IndexAction.java 14.10 编写Struts的配置文件struts-config.xml 14.11 编写Spring和Hibernate的配置文件...
14.9.4 发布控制器类EditAction.java 14.9.5 内容控制器类ContentAction.java 14.9.6 浏览内容的控制器类IndexAction.java 14.10 编写Struts的配置文件struts-config.xml 14.11 编写Spring和Hibernate的配置文件...
14.9.4 发布控制器类EditAction.java 14.9.5 内容控制器类ContentAction.java 14.9.6 浏览内容的控制器类IndexAction.java 14.10 编写Struts的配置文件struts-config.xml 14.11 编写Spring和Hibernate的配置文件...
java.lang.SecurityException: class "org.apache.commons.collections.SequencedHashMap"'s signer information does not match signer information of other classes in the same package at java.lang....
- Action类负责业务逻辑执行,建议命名格式为`有效名称+Action.java`。 - 示例:`UserAction.java`。 **4. Service接口类** - 接口及其实现类分别使用`**Service.java`和`**ServiceImpl.java`命名。 - 示例:`...
java语言编写的简单模拟ATM机功能案例,有美观的UI界面,和比较完善的功能模块,业务分层,编码格式规范。可供初学者参考。 另在db文件夹中附带两种数据库(mysql、sqlserver)表结构。 bin cn bank action ...
基于MVC的.java.web设计与开发.zip”包含了一份关于深入理解并应用Struts进行Web开发的详细教程——《精通struts.基于MVC的.java.web设计与开发.pdf》。以下是对该框架及其相关知识点的深入解析: 1. **MVC模式**:...
- Java文件按照模块名Action.java、Form.java、Svc.java、Dao.java、Vo.java和PK.java命名,对应不同功能组件。 4. **排版规则**: - 方法排版:方法名与括号间无空格,局部变量声明和语句间保持空行。 - 语句...