Eclipse下struts2.5环境搭建与struts2.3的区别
在struts2.3中,需要导入9个常用jar包。
(1)struts2-core-2.x.x.jar :Struts 2框架的核心类库
(2)xwork-core-2.x.x.jar :XWork类库,Struts 2在其上构建
(3)ognl-3.x.x.jar :对象图导航语言(Object Graph Navigation Language),struts2框架通过其读写对象的属性
(4)freemarker-2.3.x.jar :Struts 2的UI标签的模板使用FreeMarker编写
(5)commons-logging-1.x.x.jar :ASF出品的日志包,Struts 2框架使用这个日志包来支持Log4J和JDK 1.4+的日志记录。
(6)commons-fileupload-1.2.1.jar 文件上传组件,2.1.6版本后必须加入此文件
(7)commons-io-2.0.1.jar 新版本的fileupload也必须加入此包
(8)commons-lang3-3.1.jar
(9)javassist-3.11.0.GA.jar
但是在struts2.5中是没有xwork那个jar包的,所以不用导入也找不到,更不用再去低版本里去单独下载这个包,因为它和struts-core包合并了。其次,当我使用这8个包部署项目后,启动Tomcat会报错,原因是还少了log4j和slf4j这两个jar包,导入后就可以解决问题了。所以前后一共是10个jar包。
web.xml文件过滤器的配置
配置web.xml文件,在编写标签时,2.3版本是
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter。
2.5写法是org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter,它与2.3版本相比少了一个ng包。
struts.xml文件的配置
编写struts.xml文件时需要struts的dtd版本头部信息,这个版本信息要与struts版本对应,
2.5版本的是
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd">
2.3版本的将2.5改成2.3即可
sturt2解决 Error setting expression ‘XXX’ with value ‘xxx’
第一种可能:
struts2中表单提交按钮:
<input