struts1和struts2超链接和重定向如何转换?

黄瑞芬 2019-12-21 18:30:00

推荐回答

1、配置文件格式不同2、struts1有from类和action类,属性封装from类里,在struts2里只有action类,属性封装action类里3、页面调用是struts1是*.dostruts2是*.action我认为struts2要比struts1,简单、方便、快捷。就是用着比struts1好以上是我开发的体会,下面是我找的资料主要表现在如下几个方面:在Action的实现方面:Struts1要求必须统一扩展自Action类,而Struts2中可以是一个普通的POJO。线程模型方面:Struts1的Action工作在单例模式,一个Action的实例处理所有的请求。Struts2的Action是一个请求对应一个实例。没有线程安全方面的问题。Servlet依赖方面:Struts1的Action依赖于ServletAPI,比如Action的execute方法的参数就包括request和response对象。这使程序难于测试。Struts2中的Action不再依赖于ServletAPI,有利于测试,并且实现TDD。封装请求参数:Struts1中强制使用ActionForm对象封装请求的参数。Struts2可以选择使用POJO类来封装请求的参数,或者直接使用Action的属性。表达式语言方面:Struts1中整合了EL,但是EL对集合和索引的支持不强,Struts2整合了OGNL。绑定值到视图技术:Struts1使用标准的JSP,Struts2使用“ValueStack”技术。类型转换:Struts1中的ActionForm基本使用String类型的属性。Struts2中使用OGNL进行转换,可以更方便的使用。数据校验:Struts1中支持覆盖validate方法或者使用Validator框架。Struts2支持重写validate方法或者使用XWork的验证框架。Action执行控制的对比:Struts1支持每一个模块对应一个请求处理,但是模块中的所有Action必须共享相同的生命周期。Struts2支持通过拦截器堆栈为每一个Action创建不同的生命周期。
龙小英2019-12-21 18:41:39

提示您:回答为网友贡献,仅供参考。

其他回答

  • 1,首先需要的是把Struts2的环境搭建好,包括必须要的jar包和struts-xml的配置文件。并且在web.xml里面配置FileterDIspacher。它是主要用来控制的。相当于Struts1配置的核心控制对象2,然后就是所有的以前Struts1中的ACtion返回的页面。在Struts2中的action中只需要返回字符串。返回的字符串在xxx.jsp中配置所对应的页面。3,就是替换原来的显示页面中的标签。用struts2的OGNL。
    龚少锋2019-12-21 19:14:40
  • 1.struts1的action是单例模式且必须是线程安全的,action的一个实例处理所有请求.struts2的action对象为每个请求产生一个实例,没有线程安全问题.struts1的action依赖于servletapi,struts2的action不依赖与容器,允许脱离容器单独测试.2.struts1的execute方法依赖于servletapi,使得测试要依赖于容器.struts2的action可以通过初始化,设置属性,调用方法来测试,依赖注入支持是测试更容易.struts1试用ActionForm对象捕获输入,普通JavaBean不能捕获输入.动态bean可以作为ActionForm的选择,但是是在重复描述已经存在的Javabean.struts2直接试用action属性作为输入属性,消除了对第二个输入对象的需求.也支持ActionForm模式,这种ModelDriven特性简化了tiglib对POJO对象的应用.3.struts1整合的JSTL,试用JSTLEL,EL有基本对象图遍历功能,但是对集合和索引属性的支持很弱struts2可以使用JSTL,但是也支持一个更强大和灵活的表达式语言--ObjectGraphNotationLanguageOGNL4.struts1试用标准jsp机制把对象绑定到页面中来访问struts2试用ValueStack技术,允许试用一系列名称相同但类型不同的属性重用页面5.struts1的ActionForm通常都是String类型,试用BeanUtils进行类型转换struts2使用OGNL进行类型转换,提供基本和常用对象的转化器.6.struts1支持在ActionForm的validate方法中手动效验,或者通过validator扩展效验struts2支持通过validate方法和XWork效验框架来进行效验7.struts1支持每个模块有单独的request生命周期,但是模块中的所有action必须共享相同的生命周期struts2支持通过拦截器interceptorstacks为每个action创建不同的生命周期希望能够帮助你。
    赵风香2019-12-21 18:57:42

相关问答