- 浏览: 239602 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (101)
- js (10)
- java (39)
- HTTP请求:GET与POST方法的区别(转) (1)
- Freemarker 语法规则 (1)
- AJAX级联菜单实例 (1)
- oralce (1)
- myeclipse (5)
- struts (12)
- sql存储过程基础(转) (4)
- JBPM (1)
- mysql (4)
- hibernate (3)
- ibatis (4)
- spring (4)
- 计算机技术 (1)
- nosql (1)
- sqlserver (1)
- servlet (1)
- 拦截器 (1)
- andriod 开发 (1)
- 程序员 (0)
- 多线程 (2)
- Jenkins (1)
- zk (1)
- JPA (2)
最新评论
-
zhangzh888:
怎么下载 啊 都没有看见文件
sftp处理文件 -
wx_hello:
怎么得到文件的属性呢? 比如文件的新建时间
sftp处理文件 -
HappyVeryGood:
“运行时异常(即非受控异常)自动强制执行整个逻辑工作单元的回滚 ...
事物管理,spring事物详解,spring @transactional -
skeely1234:
感谢分享,太帅了
eclipse下修改项目名导致tomcat内发布名不一致的解决方法
ACTION中重定向
@Override
public String list() throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
String loginName = request.getParameter("j_username");
String password = request.getParameter("j_password");
HttpSession session = request.getSession();
session.setAttribute("username", loginName);
session.setAttribute("password", password);
//你要转向的页面的地址.
String url = new String( ("../j_spring_security_check?j_username="
+java.net.URLEncoder.encode(loginName)
+"&j_password="+password).getBytes("UTF-8"),"ISO8859_1");
//你要转向的页面的地址.
HttpServletResponse response = ServletActionContext.getResponse();
response.sendRedirect(url);
//重定向后,别忘了返回null值,而不能再返回return
//mapping.findForward("****");
return null;
//return SUCCESS;
}
有时在HTML form中需要提供多个提交按钮,这时LookupDispatchAction类就派上用场了。LookupDispatchAction是DispatchAction的子类,用于处理客户端代码中有一个Form含有多个提交按钮的情况。为了使用LookupDispatchAction,首先来编写客户端代码,代码如下:
<html:form action="myaction"> <html:submit property="action"> <bean:message key="submit.print" /> </html:submit> <html:submit property="action"> <bean:message key="submit.save" /> </html:submit> </html:form> |
其中submit.print和submit.save是属性文件中的key.action实际上是提交按钮的name属性值。在提交时,会将property和<bean:message key="……" />作为请求参数和参数值传给Struts动作。如save按钮被单击时,请求URL为http://localhost:8080/……/myaction.do?action=save.其中save为submit.save在属性文件中对应的属性值,也就是说submit.save = save.
接下来我们编写一个LookupDispatchAction的子类,代码如下:
package action; import org.apache.struts.actions.LookupDispatchAction; public class MyLookupDispatchAction extends LookupDispatchAction { // 为了方便描述,在这里未使用属性文件,只是直接将key和value的映射添加到Map对象中 // 读者可以在getKeyMethodMap方法中从属性文件中读取相应的key-value对 // 来添加到Map对象中 protected Map getKeyMethodMap() { Map m = new HashMap(); m.put("submit.print", "print"); m.put("submit.save", "save"); return m; } public ActionForward print (ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { // 处理print代码 } public ActionForward save(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { // 处理save代码 } } |
在编写LookupDispatchAction的子类时要注意必须实现getKeyMethodMap方法,在这个方法中需要进行key和Action方法的映射。下面的代码用来配置MyLookupDispatchAction.
<action path="/moresubmit" type="action.MyLookupDispatchAction" parameter="action" /> |
其中parameter属性指定了请求URL中由提交按钮生成的请求参数名
发表评论
-
习惯的开发错误
2014-09-09 17:25 469在一个包的下面 创建一个test.java 文件 这样一个小 ... -
得到指定年份的所有周末
2014-08-20 18:18 1209/** * 得到指定年份的所有周末 */ publi ... -
对对字符串可能出现报空指针的小问题
2014-04-14 14:42 885今天很是郁闷啊,遇到一个基础的问题比对字符串的两种写法: ... -
Java 单例模式详解(转)
2014-03-26 16:52 828概念: java中单例 ... -
往文件里写入字符串
2014-01-20 13:52 1146package ab; import java.io.Bu ... -
Java数组,去掉重复值、增加、删除数组元素
2014-01-02 14:18 5168import java.util.List; import ... -
java定时器的使用(Timer)
2013-10-14 16:42 2443java定时器的使用(Timer) 2008-02-14 13 ... -
JSch - Java实现的SFTP(文件上传详解篇)(转)
2013-10-14 16:40 3443JSch是Java Secure Channel的缩写。JSc ... -
jvm
2013-09-30 15:03 769网上看到一位javaeye的同志写的文章,感觉总结的比较好,虽 ... -
sftp处理文件
2013-09-30 15:02 8105最近工作涉及sftp处理文件,写了个工具类,代码已经测试。请需 ... -
java BigDecimal的使用和四舍五入及格式规范(精准数据)
2013-06-17 15:37 21576• Java中的简单浮点数类型float和double不能够进 ... -
servlet拦截器代码
2013-03-29 13:45 22481- 实现Servlet.Filter接口 public cl ... -
session 超时的时间设置
2013-03-22 14:47 979为单个Web应用 配置超时时间可以在web.xml中使用< ... -
Calendar 获取日期
2013-01-23 10:44 1330Calendar 获取日期 如果想得到某个星期几是什么日期, ... -
JAVA帮助文档全系列
2013-01-05 11:02 0JAVA帮助文档全系列 JDK1.5 JDK1.6 JD ... -
Cannot create a server using the selected type
2012-08-27 11:02 0eclipse中安装tomcat服务器,报错" Ca ... -
Struts1 DispatchAction实现一个action处理多个请求
2012-08-09 13:54 1517Struts1 DispatchAction 原文地址:ht ... -
struts 1.2 ActionFrom表单验证
2012-08-08 15:49 2393ActionForm的代码校验 ActionForm的 ... -
spring+struts集成,spring+hibernate集成要点
2012-08-07 15:27 1059spring+struts的集成(第一种集成方案) 原理:在A ... -
(转)struts1.x与spring集成方式
2012-08-06 17:16 0方式一:Action交给spring ...
相关推荐
Java 处理多个 Submit 按钮的方法 在 Web 应用中,一个 HTML form 标签中可能有多个 submit 按钮,每个按钮执行不同的操作。Java 通过不同的方式可以实现对多个 submit 按钮的处理,下面将详细介绍 Struts1 和 ...
在处理一个表单(form)中存在多个submit按钮的情况时,Struts2提供了一种优雅的方式来区分用户点击了哪个按钮,而无需像Struts1那样使用额外的动作类(如LookupDispatchAction或EventDispatchAction)。 在传统的...
### EventDispatchAction类处理一个form多个submit #### 一、背景与概述 在Web应用程序开发过程中,表单的提交操作是非常常见的场景之一。对于复杂的业务逻辑而言,有时我们需要在一个表单中提供多个提交按钮,...
默认情况下,Struts1的动作类只有一个`execute()`方法,但使用`LookupDispatchAction`时,可以定义多个处理特定请求的方法,每个方法对应一个特定的请求参数。 二、配置与使用 1. 配置struts-config.xml 首先,需要...
其核心作用是允许将多个原本需要独立 Action 处理的任务合并到一个 Action 中进行处理,从而简化了 Action 的管理和维护工作。 **1.1 为什么要使用 DispatchAction** 在传统的 Struts 应用中,每一个业务逻辑操作...
1. **LookupDispatchAction**: 这是Struts1中的一个特殊类型的动作,主要用于处理多个请求映射到同一个Action的情况。通常,一个Action对应一个请求,但有时我们可能需要一个Action处理多个不同的业务逻辑。...
其中的LookupDispatchAction类是允许你指定一个具有多个方法的类,每一个方法的调用都基于配置文件中指定的一个特殊请求参数值,利用该参数值反向查询资源绑定,并将它与类中的一个方法进行匹配。从这些功能可以看出...
通常,一个Action类对应一个或多个业务逻辑方法,每个方法处理特定的用户请求。然而,当一个Action需要处理多种操作时,LookUpDispatchAction就显得特别有用。它通过基于请求参数的值来决定执行哪个业务方法,而不是...
- 创建一个继承自`LookupDispatchAction`的类,并为其添加多个处理方法。 - 在Action类内部通过`lookupMethod`方法来决定调用哪个处理方法。 - 页面通过不同的提交按钮提交请求。 **2. 耦合性评价** - `...
- 在 `struts-config.xml` 配置文件中,需要为 `LookupDispatchAction` 创建一个 `<action>` 元素,并指定对应的Action类。然后,可以为每个方法创建子元素 `<forward>`,指定不同的视图或结果页面。 - 示例配置:...
Struts支持在一个Web应用中配置多个模块,每个模块都可以有自己的配置文件,便于管理复杂的Web应用程序。 #### 四、Struts组件 ##### 1.ActionServlet类 Struts的核心组件,负责接收HTTP请求、解析请求、调用...
在这个例子中,可能会使用`LookupDispatchAction`,这是一个特殊类型的Action,它允许根据用户提交的按钮值(submit标签的name属性)来调用不同的业务方法。 在用户界面设计中,静态验证是先于服务器端验证的一步,...
1. **Action**:Struts1.x 中的 Action 类负责处理用户请求,执行业务逻辑,并返回一个 ActionForward 对象来控制页面流转。 - **DispatchAction**:一种特殊的 Action 类,可以将不同的 actionName 分派到不同的...
Struts2.0是Java Web开发中的一个框架,它的核心组件是Action,它负责处理用户的请求并进行业务逻辑处理。相较于Struts 1.x,Struts 2.0的Action模型有着显著的区别。 在Struts 1.x中,Action类需要继承`org.apache...
1. **LookupDispatchAction**: 这个文件可能涉及到Struts框架中的`LookupDispatchAction`,这是一个用于处理多视图的Action,它可以根据用户请求的参数来决定调用哪个业务方法。这在实现复杂的视图跳转和逻辑控制时...
`DynaValidatorForm`是Struts的一个动态表单类,可以方便地对用户输入的数据进行验证。 Spring与Hibernate的整合使得业务对象可以直接由Spring管理,而无需直接在Action类中进行数据库操作。`LookupDispatchAction`...
在例1的`struts.xml`配置中,我们创建了一个名为`HelloWorld`的Action,它对应`tutorial.HelloWorld`类,并且当请求`HelloWorld.action`时,Struts2会实例化这个类并调用`execute()`方法。`result`元素指定了执行`...
在源码中的`ForwardAction`类可能就是Struts中的一个自定义动作,它会根据配置将请求转发到指定的页面或业务处理。 Spring是一个全面的Java应用框架,它提供了依赖注入(DI)、面向切面编程(AOP)以及用于事务管理...
ActionForward代表一个URL,指示下一步应该去哪里,可以是另一个JSP页面或者一个包含更多业务处理的Action。 以上流程以Struts自带的example示例程序为例,展示了登录、注册和修改功能的实现。尽管这个例子展示了...