index, 注意,我的端口号与你的可能不 同,这个访问路径“index”不能带".jsp"后缀,否则会报找不到action的错误。或者,你加个".action" 的后缀也可以。Struts2.1.6与Struts2.0不同之处之一是,Struts2.1.6中的“xxx.action”可以没有 Action类与它对应,它如果找不到有相应的action类,它会去找xxx.jsp,xxx.htm等文件。
我们做到这一步,如果能够通过上面的路径预览index.jsp的话,就说明,Struts2.1.6配置正确了。 继续下面的步骤吧。
来写一个Struts的action类,命名为"PeopleAction",代码如下:
package cn.he.action;
import java.util.List;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
import cn.he.manager.Manager;
import cn.he.pojo.People;
import com.opensymphony.xwork2.ActionSupport;
@Results({
@Result(name = "reload", location = "people.action", type = "redirect")
})
public class PeopleAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private Manager manager = new Manager();
private int id;
private People people;
private List<People> peoples;
//默认的操作
@Override
public String execute() throws Exception {
return list();
}
//查询列表的操 作
public String list() throws Exception {
System.out.println ("list");
peoples = manager.queryAllPeople();
System.out.println("name = " + peoples.size());
return SUCCESS;
}
//进入编辑页面前的操作
public String input() throws Exception {
System.out.println("input");
return INPUT;
}
//保存操作
public String save() throws Exception {
manager.addPeople(people);
return "reload";
}
//删除操作
public String delete() throws Exception {
manager.delPeople(id);
return "reload";
}
//自动生 成相应的getter和setter方法
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public People getPeople() {
return people;
}
public void setPeople(People people) {
this.people = people;
}
public List<People> getPeoples() {
return peoples;
}
public void setPeoples(List<People> peoples) {
this.peoples = peoples;
}
}
从Servlet到Struts 2.1.6(3)
时间:2011-10-07 blogjava 心梦帆影
注意,这个类的包名“cn.he.action”,要有名为“action”或者"struts",或者"web"等,相关的命 名规范请参考 struts2采用convention-plugin实现零配置,Struts2.1.6默认会把这些包下或者这些包 的子包下的类,纳入自己的管理范围之内。
接着在content目录下,写两个JSP文件,一是查询列表的JSP页 |