struts2释出已经很久了,虽然自己现在作GUI开发,不过有时间还是学习下web开发,现在就将我使用myeclipse工具应用struts2 + spring + hibernate 实现CRUD操作的步骤一一纪录下来,为初学者少走弯路略尽绵薄之力!
首先,myeclipse中web工程目录结构如下图:

使用myeclipse开发hibernate和spring的操作我就不详细说了,网上的教程很多,如果有不明白的可以咨询我,呵呵.
其中持久类AbstractTest,Test,TestDAO,Test.hbm.xml都是myeclipse的hibernate工具生成的.TestAction类是struts2的核心处理类,代码如下:
package com.yangqiang.strutsdemo.web;

import java.util.Collection;
import java.util.List;

import org.apache.log4j.Logger;

import com.opensymphony.xwork2.ActionSupport;
import com.yangqiang.strutsdemo.domain.Test;
import com.yangqiang.strutsdemo.domain.TestDAO;


/** *//**
* 描述:
* @author Stone yang 创建日期:2007-4-24
* @version pattern Study
* 技术支持: <a href="http://blog.csdn.net/yq76034150">http://blog.csdn.net/yq76034150</a>
*/

public class TestAction extends ActionSupport ...{
private static final Logger log = Logger.getLogger(TestAction.class);

private Integer id;
private Integer[] ids;
protected TestDAO testDao;
private Test test;
private Collection<Test> testColl;

/** *//**
* 描述 return 返回 ids。
* @author Stone yang
* @date 2007-4-24
*/

public Integer[] getIds() ...{
return ids;
}

/** *//**
* 描述:设置ids的值。
* @param ids
* @author Stone yang
* @date 2007-4-24
*/

public void setIds(Integer[] ids) ...{
this.ids = ids;
}

/** *//**
* 描述 return 返回 testColl。
* @author Stone yang
* @date 2007-4-24
*/

public Collection<Test> getTestColl() ...{
return testColl;
}

/** *//**
* 描述:设置testColl的值。
* @param testColl
* @author Stone yang
* @date 2007-4-24
*/

public void setTestColl(Collection<Test> testColl) ...{
this.testColl = testColl;
}

/** *//**
* 描述 return 返回 id。
* @author Stone yang
* @date 2007-4-24
*/

public Integer getId() ...{
return id;
}

/** *//**
* 描述:设置id的值。
* @param id
* @author Stone yang
* @date 2007-4-24
*/

public void setId(Integer id) ...{
this.id = id;
}

/** *//**
* 描述 return 返回 testDao。
* @author Stone yang
* @date 2007-4-24
*/

public TestDAO getTestDao() ...{
return testDao;
}

/** *//**
* 描述:设置testDao的值。
* @param testDao
* @author Stone yang
* @date 2007-4-24
*/

public void setTestDao(TestDAO testDao) ...{
this.testDao = testDao;
}

/** *//**
* 描述 return 返回 test。
* @author Stone yang
* @date 2007-4-24
*/

public Test getTest() ...{
return test;
}

/** *//**
* 描述:设置test的值。
* @param test
* @author Stone yang
* @date 2007-4-24
*/

public void setTest(Test test) ...{
this.test = test;
}

public String load() ...{
test = getTestDao().findById(id);
return SUCCESS;
}

@SuppressWarnings("unchecked")

public String list() ...{
testColl = getTestDao().findByExample(new Test());
return SUCCESS;
}

public String store() ...{
getTestDao().merge(test);
return SUCCESS;
}

public String remove() ...{

for (int i = 0, size = ids.length; i < size; i++) ...{
getTestDao().delete(getTestDao().findById(ids[i]));
}
return SUCCESS;
}

}

[1] [2] [3] 下一页

【责编:Ken】