首页 > 代码库 > Struts2问题总结

Struts2问题总结

1 如何搭建Struts2开发环境?

Struts2 获取   http://struts.apache.org/download.cgi

Struts-2.3.16.3-all.zip

 

创建Web项目,引入Struts2 搭建所需 jar包:

commons-fileupload-1.3.1.jar:Struts文件的上传和下载

commons-io-2.2.jar:文件读取

commons-lang3-3.1.jar:为java.lang包提供扩展

freemarker-2.3.19.jar:FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具

ognl-3.0.6.jar:支持ognl表达式

javassist-3.11.0.GA.jar:分析、编辑和创建JAVA字节码的类库

struts2-core-2.3.16.3.jar:Struts2的核心包

xwork-core-2.3.16.3.jar:xwork的核心包

asm-*.jar 类似javassits

log4j-1.2.17.jar 日志类库

 

修改web.xml

 

配置struts.xml

 


2 创建Action有几种方式?

普通的Java类,编写public String execute(){}方法

实现Action接口,重写execute()方法

继承ActionSupport类,重写execute()方法

 


3 Action接收参数的常用方式有哪些?

属性方式 ------------>

Action中,对应表单参数的属性及对应的setter、getter

页面中,(1)Form中元素name取值属性名(2)取值:<s:property value="http://www.mamicode.com/属性名"/>

应用场景,接收的参数字段个数少

JavaBean方式 ------------>将模型数据从Action中分离了出来

Action中,为Action添加实体属性以及setter和getter

页面中,(1)Form中元素name取值对象名.属性名(2)<s:property value="http://www.mamicode.com/对象名.属性名" />

应用场景,字段多,可以封装为一个对象:将模型数据从Action中分离出来时

ModelDriven方式 ------------>

Action中,Action实现ModelDriven接口,重写方法getModel();Action中要提供JavaBean类型的属性,需要实例化,但不需要相应的setter和getter方法

页面中,(1)Form中元素name取值属性名(2)取值:<s:property value="http://www.mamicode.com/属性名" />

应用场景,和JavaBean方式相似,不常用

 


4 如何调用Action方法?

访问Action时,默认调用的时execute()方法

可以在Action中定义多个业务方法,方法签名要与execute()方法相同

配置多个<action>标签,method属性指定调用的方法

<action name="house_add" class="com.pb.web.action.HouseAction" method="add">
<action name="house_update" class="com.pb.web.action.HouseAction" method=“update">

 

5 result的type取值有哪些?


6 全局结果如何进行配置?


7 全局异常处理如何进行配置?


8 访问Servlet API有哪些方式?

 

9 值栈存储了哪些信息?


10 Stack Context存储了哪些信息?


11 OGNL如何访问值栈和Stack Context的内容?


12 Struts2标签有哪些分类?

 

13 Struts2实现数据验证有哪几种方式?


14 列举常用的自带拦截器,并说明其的作用?


15 文件上传主要步骤有哪些?


16 Struts2中怎么实现AJAX?

 

Struts2问题总结