- 浏览: 239616 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (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内发布名不一致的解决方法
最近因为工作的原因,重新接触的strut1.2,对其中的跳转很是不解。后来有机会接触到一种在后缀上加一个参数来给数据进行指定方法的调用,本来这是很好的。但是现在的项目是二次开发,就出现了一个问题,看了一个大牛的代码,让我不爽,我不明白是不是大牛就是技术狂。
这位大牛是这样做的 在页面中设置这样的隐藏域 偷偷的传参数给url,真是让人崩溃,代码真是晦涩难懂啊。我想很长时间才能搞懂整个项目的框架结构了.
<html:form action="tLSecuUsersAction.do" focus="${requestScope.focus == null ? 'name' : requestScope.focus}">
<html:hidden property="action" value="login" /><!-- input type="text" name="loginName" value="22"/ -->
</html:form>
<action path="/tLSecuUsersAction"
type="com.stt.platform.admin.web.TTSecuUsersAction"
name="TTSecuUsersLoginForm" scope="request" validate="false"
parameter="action">
</action>
在action中继承一个DispatchAction,其中有一个login()的方法 ,我晕。看完这段代码我直接崩溃,就是不让人看懂是不。。。
下面是关于 使用DispatchAction类调用多个Action方法的收集。希望会有点帮助!
在使用Struts动作时,每一个Action都需要编写一个类,并且要在struts-config.xml进行配置。这对于一个拥有很多Action的Web程序来说,工作量是非常大的。为此,Struts提供了DispatchAction类,这个类允许将一个Action作为一个方法来调用。在Web浏览器中通过请求参数来指定要调用的动作。
虽然DispatchAction类是一个抽象类,但其中却没有一个抽象方法。因此,DisplatchAction的子类不用实现任何DisplatchAction类中的方法。但如果要处理Action代码,就必须根据相应的Action来编写Action方法。一个Action方法除了方法名和execute方法不一样外,其他的都和execute方法完全一样。但编写Action方法时要注意,Action方法名必须和用于指定动作的请求参数值一致(大小写也必须一致)。在下面的例子中演示了通过DispatchAction类实现方法和Action的对应。在这个例子中,有三个方法:fr、en和unspecificed.其中fr和en是两个Action方法,分别用于将当前页面转发到法文和英文页面,而当用于指定Action的请求参数不存在时,则调用unspecificed方法(在这个方法中将当前页面转发到中文页面)。在这个程序中使用的用于指定Action的请求参数为language(读者可以指定自己的请求参数)。
在<samples工程目录>\src\action目录建立一个MyDispatchAction.java文件,代码如下:
package action;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.*;
import org.apache.struts.action.*;
import org.apache.struts.actions.*;
public class MyDispatchAction extends DispatchAction
{
// forward到法文页面
public ActionForward fr(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
{
try
{
RequestDispatcher rd = request.getRequestDispatcher("/newGlobal.jsp?language=fr");
rd.forward(request, response);
}
catch (Exception e)
{
}
return null;
}
// forward到英文页面
public ActionForward en(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
{
try
{
RequestDispatcher rd = request.getRequestDispatcher("/newGlobal.jsp?language=en");
rd.forward(request, response);
}
catch (Exception e)
{
}
return null;
}
// 在未使用language=fr和language=en作为访问参数的情况时调用这个方法
protected ActionForward unspecified(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception
{
try
{
// forward到中文页面
RequestDispatcher rd = request.getRequestDispatcher("/newGlobal.jsp?language=zh");
rd.forward(request, response);
}
catch (Exception e)
{
}
return null;
}
}
在struts-config.xml文件中加入如下的配置代码来配置MyDispatchAction:
<action path="/locale" type="action.MyDispatchAction" parameter="language"/>
其中parameter参数表示用于指定Action的请求参数名。
在启动Tomcat后,可通过如下的URL进行测试:
显示英文页面:
http://localhost:8080/samples/locale.do?language=en
显示法文页面:
http://localhost:8080/samples/locale.do?language=fr
显示中文页面(默认页面):
http://localhost:8080/samples/locale.do
虽然上面的代码可以很好地调用相应的Action方法,但在一些情况时,如请求参数language指定的Action方法不存在时,就会抛出异常。那么如果我们想在非正常情况下都调用默认的处理Action动作的方法(也就是unspecificed方法)该怎么办呢?
发表评论
-
习惯的开发错误
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 ...
相关推荐
### Struts 1.2 跳转后 CSS 或 JS 无效解决方法 在使用Struts 1.2框架开发Web应用时,可能会遇到跳转到新的页面后,某些CSS样式或者JavaScript脚本失效的问题。这通常是由于资源加载路径设置不当造成的。下面将详细...
2. **Action类**:在Struts1.2中,Action类是控制器的主要实现,它处理用户的请求,执行相应的业务逻辑,并决定跳转到哪个JSP页面作为响应。 3. **配置文件**:`struts-config.xml`是Struts的核心配置文件,用于...
Struts1.2是Apache软件基金会的Jakarta项目下的一个开源框架,...文档中的实例、教程和API参考可以帮助读者快速掌握Struts1.2的使用方法,提升开发效率。投入时间深入学习,无疑会为你的Java Web开发技能树添砖加瓦。
如果能访问到这个项目,可以更深入地学习Struts1.2处理包含列表对象的表单提交的实践细节。 总结来说,Struts1.2处理包含列表对象的表单提交涉及到表单设计、ActionForm的创建、Action类的编写以及Struts框架的内部...
3. **Action**:Action类是实际执行业务逻辑的地方,它接收来自ActionForm的数据,处理后调用模型层的方法,最后根据业务结果决定跳转到哪个JSP页面。 4. **Tiles插件**:Struts 1.2集成了Tiles框架,使得布局和...
2. **Action类**:在Struts1.2中,Action类是核心组件,它接收来自用户的请求,处理业务逻辑,并决定跳转到哪个JSP页面进行响应。Action类继承自org.apache.struts.action.Action,并需要覆盖execute()方法。 3. **...
了解这些基础知识后,可以通过阅读博文链接获取更多关于Struts1.2的实际应用和最佳实践。同时,解压文件“struts1pro”应该包含示例代码和文档,可以作为学习和实践的参考资料。通过实际操作,可以更深入理解Struts...
学习Struts1.2不仅有助于理解MVC(Model-View-Controller)设计模式,还可以提升在企业级应用开发中的实践能力。尽管Struts1.2已经相对过时,但它的许多设计理念和模式在现代框架如Spring MVC中仍然可见。因此,掌握...
Struts1.2、Spring2.3 和 Hibernate3.0 是经典的Java企业级开发框架组合,被称为SSH(Struts-Spring-Hibernate)集成框架。这个组合在2000年代末到2010年初非常流行,它们各自解决了不同的问题,并通过相互配合,...
Struts1.2是一个经典的Java Web开发框架,由Apache软件基金会开发。它是MVC(Model-View-Controller)设计模式的实现,旨在简化Java Servlet API的复杂性,提高开发效率和代码可维护性。本博客系统是基于Struts1.2...
Struts1.2 是一款基于MVC(Model-View-Controller)设计模式的Java Web框架,它由Apache软件基金会开发并维护。这个框架的主要目的是为了简化Web应用的开发过程,提高代码的可重用性和可维护性。在"struts1.2 的例子...
Struts 1.2的Validator框架提供了一种验证用户输入的方法。通过定义验证规则,你可以确保输入的数据符合业务需求。 九、国际化与本地化 Struts 1.2支持多语言环境,通过资源包(Resource Bundle)可以实现不同地区...
Struts 1.2 是一个历史悠久的Java Web框架,由Apache软件基金会开发并维护,它在Web应用程序开发中扮演了重要角色。这个压缩包包含了Struts 1.2的完整库,包括所有必要的jar文件,使得开发者能够快速搭建基于Struts ...
Struts1.2是一个经典的Java Web开发框架,它在2004年由Apache软件基金会发布,主要用于构建基于MVC(Model-View-...通过实践这个例子,开发者可以深入理解Struts1.2的工作原理,并为以后的Web开发打下坚实基础。
Struts1.2主要负责处理HTTP请求,管理页面跳转,并通过Action和ActionForm实现业务数据的封装与传递。 **Hibernate3.0** 是一个强大的对象关系映射(ORM)框架,它可以将数据库中的表映射为Java对象,使得开发者...
Struts1.2标签库是Java Web开发中的一个重要组成部分,它...通过深入理解和实践Struts1.2标签库,开发者能更好地构建MVC模式的Web应用,提高开发效率,同时也能为后续升级到Struts2或其他更现代的框架打下坚实的基础。
Struts1.2是Apache软件基金会的一个开源项目,它是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架。这个框架的主要目的是为了简化Web应用开发过程,提高开发效率,使得开发者可以更专注于业务...
Struts1.2、Spring1.2和Hibernate2.0是经典的Java企业级开发框架组合,它们分别负责不同的职责,共同构建了一个强大的后端架构。Struts1.2作为MVC(模型-视图-控制器)框架,主要处理前端请求并控制页面展示;Spring...