- 浏览: 242135 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (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 516在一个包的下面 创建一个test.java 文件 这样一个小 ... -
得到指定年份的所有周末
2014-08-20 18:18 1230/** * 得到指定年份的所有周末 */ publi ... -
对对字符串可能出现报空指针的小问题
2014-04-14 14:42 912今天很是郁闷啊,遇到一个基础的问题比对字符串的两种写法: ... -
Java 单例模式详解(转)
2014-03-26 16:52 850概念: java中单例 ... -
往文件里写入字符串
2014-01-20 13:52 1175package ab; import java.io.Bu ... -
Java数组,去掉重复值、增加、删除数组元素
2014-01-02 14:18 5186import java.util.List; import ... -
java定时器的使用(Timer)
2013-10-14 16:42 2469java定时器的使用(Timer) 2008-02-14 13 ... -
JSch - Java实现的SFTP(文件上传详解篇)(转)
2013-10-14 16:40 3469JSch是Java Secure Channel的缩写。JSc ... -
jvm
2013-09-30 15:03 790网上看到一位javaeye的同志写的文章,感觉总结的比较好,虽 ... -
sftp处理文件
2013-09-30 15:02 8122最近工作涉及sftp处理文件,写了个工具类,代码已经测试。请需 ... -
java BigDecimal的使用和四舍五入及格式规范(精准数据)
2013-06-17 15:37 21598• Java中的简单浮点数类型float和double不能够进 ... -
servlet拦截器代码
2013-03-29 13:45 22721- 实现Servlet.Filter接口 public cl ... -
session 超时的时间设置
2013-03-22 14:47 1006为单个Web应用 配置超时时间可以在web.xml中使用< ... -
Calendar 获取日期
2013-01-23 10:44 1348Calendar 获取日期 如果想得到某个星期几是什么日期, ... -
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 1542Struts1 DispatchAction 原文地址:ht ... -
struts 1.2 ActionFrom表单验证
2012-08-08 15:49 2420ActionForm的代码校验 ActionForm的 ... -
spring+struts集成,spring+hibernate集成要点
2012-08-07 15:27 1079spring+struts的集成(第一种集成方案) 原理:在A ... -
(转)struts1.x与spring集成方式
2012-08-06 17:16 0方式一:Action交给spring ...
相关推荐
在 Struts1 中,使用 LookupDispatchAction 动作可以处理含有多个 submit 的 form。但是,这种方式需要访问属性文件,还需要映射,比较麻烦。从 Struts1.2.9 开始,加入了 EventDispatchAction 动作,该类可以通过 ...
以下是如何在Struts2中处理一个form多个submit的步骤: **步骤1:创建表单(JSP页面)** 在`more_submit.jsp`中,我们使用Struts2的`s:form`标签来定义表单,并为每个submit按钮指定一个唯一的name属性,同时通过`...
### EventDispatchAction类处理一个form多个submit #### 一、背景与概述 在Web应用程序开发过程中,表单的提交操作是非常常见的场景之一。对于复杂的业务逻辑而言,有时我们需要在一个表单中提供多个提交按钮,...
其核心作用是允许将多个原本需要独立 Action 处理的任务合并到一个 Action 中进行处理,从而简化了 Action 的管理和维护工作。 **1.1 为什么要使用 DispatchAction** 在传统的 Struts 应用中,每一个业务逻辑操作...
具体的业务逻辑处理类,继承自org.apache.struts.action.Action基类。 ##### 3.Struts的内置Action类 Struts提供了一系列内置Action类,例如: - **ForwardAction**:用于页面跳转。 - **IncludeAction**:用于...