1、认知:struts是一个基于javaee平台的mvc框架,他是属于一个表现层的开发框架,框架是一个模板,模板是一个半成品,自己本身是不能正常运行的
2、官方下载:http://struts.apache.org/download.cgi
建议下载完整包
3、核心包:
struts2-core-2.1.8.jar(Struts2的核心库)
xwork-core-2.1.6.jar(WebWork的核心库)
commons-logging-1.0.4.jar(日志文件)
commons-fileupload-1.2.1.jar(文件上传与下载)
freemarker-2.3.15.jar (表现层框架)
ognl-2.7.3.jar(OGNL表达式语言,)
commons-io-1.3.2.jar(文件上传下载的依赖的包)
4、建议参考strusts2的apps下的案例结合学习
5、struts代码提示解决
1.首先在struts中搜索struts-2.0.dtd文件,建议找到后复制到自己的工作空间
2.在设置preferences——Files and Editors——xml——xml Catalog中设置,location中填入:struts-2.0.dtd文件的路径,keytype中选择uri,key中填入http://struts.apache.org/dtds/struts-2.0.dtd(从struts.xml复制的)
6、
1)ActionSupport类的作用
struts2不要求我们自己设计的action类继承任何的struts基类或struts接口,但是我们为了方便实现我们自己的action,大多数情况下都会继承com.opensymphony.xwork2.ActionSupport类,并重写此类里的public String execute() throws Exception方法。因为此类中实现了很多的实用接口,提供了很多默认方法,这些默认方法包括国际化信息的方法、默认的处理用户请求的方法等,这样可以大大的简化Acion的开发。
Struts2中通常直接使用Action来封装HTTP请求参数,因此,Action类里还应该包含与请求参数对应的属性,并且为属性提供对应的getter和setter方法。如:
public class UserAction extends ActionSupport {
private String name;
private int age;
private String[] hobby;
private Address address;
@Override
public String execute() throws Exception {
System.out.println(id+","+name+","
+ ""+address.getProvince()+","+address.getCity()+",");
return SUCCESS;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String[] getHobby() {
return hobby;
}
public void setHobby(String[] hobby) {
this.hobby = hobby;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
}
3.3:Adress 类
public class Adress {
private String province;
private String city;
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
}
初学,请多指教