3、 建立的项目目录:
Root:
/resource/ext2.0/ 将下载的ext-2.0-beta1.zip文件解压到该目录
/WEB-INF/web.xml
/WEB-INF/lib
/WEB-INF/classes/struts.xml
/WEB-INF/spring/applicationContext.xml
4、 代码清单:
Level.java
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "LOON_LEVEL")
public class Level implements java.io.Serializable {
private Long levelid;
private String levelname;
private String description;
public Level() {
}
public Level(Long levelid) {
this.levelid = levelid;
}
public Level(Long levelid, String levelname, String description) {
this.levelid = levelid;
this.levelname = levelname;
this.description = description;
}
@Id
@Column(name = "LEVELID", unique = true, nullable = false, precision = 5, scale = 0)
public Long getLevelid() {
return this.levelid;
}
public void setLevelid(Long levelid) {
this.levelid = levelid;
}
@Column(name = "LEVELNAME", length = 64)
public String getLevelname() {
return this.levelname;
}
public void setLevelname(String levelname) {
this.levelname = levelname;
}
@Column(name = "DESCRIPTION", length = 256)
public String getDescription() {
return this.description;
}
public void setDescription(String description) {
this.description = description;
}
}
ILevelDAO.java
import java.util.List;
public interface ILevelDAO {
public Level findLevelById(Long id);
public List<Level> findAllLevels();
public void persistLevel(Level level);
public void removeLevel(Level level);
public void removeById(Long id);
}
LevelDAO.java
import java.util.List;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
public class LevelDAO extends HibernateDaoSupport implements ILevelDAO {
public LevelDAO() {
super();
}
public Level findLevelById(Long id) {
return (Level) getHibernateTemplate().get(Level.class, id);
}
public List<Level> findAllLevels() {
return getHibernateTemplate().loadAll(Level.class);// .find("from Level o");//
}
public void persistLevel(Level level) {
getHibernateTemplate().saveOrUpdate(level);
}
public void removeLevel(Level level) {
getHibernateTemplate().delete(level);
}
public void removeById(final Long id) {
this.getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) {
session.createQuery("delete from Level o where o.levelid=" + id + "").executeUpdate();
return 1;
}
});
}
}
ILevelService.java
import java.util.List;
public interface ILevelService {
public Level findLevelById(Long id) throws Exception;
public List<Level> findAllLevels() throws Exception;
public List<Level> findLevelsByExample(Level level) throws Exception;
public void persistLevel(Level level) throws Exception;
public void removeLevel(Level level) throws Exception;
public void removeLevelById(Long id) throws Exception;
}
LevelService.java
import java.util.List;
import privilege.dao.*;
import privilege.database.Level;
import org.springframework.context.ApplicationContext;
public class LevelService implements ILevelService {
private ILevelDAO dao;
private static final String SERVICE_BEAN_ID = "LevelService";
public LevelService() {
super();
}
public static ILevelService getInstance(ApplicationContext context) {
return (ILevelService) context.getBean(SERVICE_BEAN_ID);
}
public Level findLevelById(Long id) throws Exception {
try {
return getDao().findLevelById(id);
} catch (RuntimeException e) {
throw new Exception("findLevelById failed with the id " + id + ": " + e.getMessage());
}
}
public void persistLevel(Level level) throws Exception {
try {
getDao().persistLevel(level);
} catch (RuntimeException e) {
throw new Exception("persistLevel failed: " + e.getMessage());
}
}
public void removeLevel(Level level) throws Exception {
try {
getDao().removeLevel(level);
} catch (RuntimeException e) {
throw new Exception("removeLevel failed: " + e.getMessage());
}
}
public void removeLevelById(Long id) throws Exception {
try {
getDao().removeById(id);
} catch (RuntimeException e) {
throw new Exception("removeLevel failed: " + e.getMessage());
}
}
public void setDao(ILevelDAO dao) {
this.dao = dao;
}
public ILevelDAO getDao() {
return this.dao;
}
}
ExtJSONActionSuport.java
辅助类,继承了ActionSupport
import com.opensymphony.xwork2.ActionSupport;
public class ExtJSONActionSuport extends ActionSupport {
private int totalCount = 0;// 总数
private transient int start = 0;// 开始数
private transient int limit = 0;// 限制数量
private String jsonString = "";
public String getJsonString() {
return jsonString;
}
public void setJsonString(String jsonString) {
this.jsonString = jsonString;
}
public String jsonExecute() throws Exception {
return super.execute();
}
public int getTotalCount() {
return totalCount;
}
public void setTotalCount(int totalCount) {
this.totalCount = totalCount;
}
public int getStart() {
return start;
}
public void setStart(int start) {
this.start = start;
}
public int getLimit() {
return limit;
}
public void setLimit(int limit) {
this.limit = limit;
}
}
LevelAction.java
import java.util.List;
import java.util.ArrayList;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import net.sf.json.JSONArray;
import privilege.database.Level;
import privilege.service.*;
import commons.utils.action.ExtJSONActionSuport;
public class LevelAction extends ExtJSONActionSuport {
private static final long serialVersionUID = 1L;
private Level level = null;
private List<Level> levels = new ArrayList<Level>(0);
private ILevelService levelService = null;
private String delData;
public String execute() {
return this.SUCCESS;
}
@Override
public String jsonExecute() throws Exception {
if (this.getDelData() != null && !"".equals(this.getDelData())) {
if (this.getDelData().indexOf(",") < 0) {
this.levelService.removeLevelById(Long.parseLong(this.getDelData()));
System.out.println("del_id:" + getDelData());
} else {
String id[] = this.getDelData().split(",");
for (int i = 0; i < id.length; i++) {
System.out.println("del:" + id[i]);
this.levelService.removeLevelById(Long.parseLong(id[i]));
}
}
}
HttpSession session = ServletActionContext.getRequest().getSession();
Object o = null;// session.getAttribute("Level_Data1");
if (o == null) {
try {
this.levels = this.getLevelService().findAllLevels();
session.setAttribute("Level_Data1", this.levels);
System.out.println("query database");
} catch (Exception e) {
e.printStackTrace();
}
} else {
this.setLevels(((List<Level>) o));
}
this.setTotalCount(this.levels.size());
JSONArray array = JSONArray.fromObject(this.levels);
// System.out.println(this.getStart() + "---" + this.getLimit());
this.setJsonString("{success:true,totalCount : " + this.getTotalCount() + ", list:" + array.toString() + "}");
// System.out.println(this.getJsonString());
return super.jsonExecute();
}
/**
* Find an entity by its id (primary key).
*
* @param id
* @return The found entity instance or null if the entity does not exist.
*/
public String findLevelById(Long id) {
try {
this.level = this.getLevelService().findLevelById(id);
} catch (Exception e) {
e.printStackTrace();
}
JSONArray array = JSONArray.fromObject(this.levels);
this.setJsonString(array.toString());
return SUCCESS;
}
public String findLevelById() {
System.out.println(this.level.getLevelid());
try {
this.level = this.getLevelService().findLevelById(this.level.getLevelid());
} catch (Exception e) {
e.printStackTrace();
}
JSONArray array = JSONArray.fromObject(this.level);
this.setJsonString(array.toString());
this.setJsonString("{success:true,totalCount:1,list:" + array.toString() + "}");
System.out.println(array.toString());
return SUCCESS;
}
/**
* @return Return all persistent instances of the <code>Level</code> entity.
*/
public String getAllLevels() {
try {
this.levels = this.getLevelService().findAllLevels();
} catch (Exception e) {
e.printStackTrace();
}
return SUCCESS;
}
/**
* Make the given instance managed and persistent.
*
* @return
*/
public String persistLevel() {
System.out.println(this.level.getLevelid() + "---" + this.level.getLevelname() + "---"
+ this.level.getDescription());
this.setJsonString("{success:true}");
try {
this.getLevelService().persistLevel(this.getLevel());
} catch (Exception e) {
e.printStackTrace();
}
return SUCCESS;
}
/**
* Remove the given persistent instance.
*
* @return
*/
public String removeLevel() {
try {
this.getLevelService().removeLevel(this.getLevel());
} catch (Exception e) {
e.printStackTrace();
}
return SUCCESS;
}
/**
* Remove an entity by its id (primary key). *
*
* @return
*/
public String removeLevelById(Long id) {
try {
this.getLevelService().removeLevelById(id);
} catch (Exception e) {
e.printStackTrace();
}
return SUCCESS;
}
public Level getLevel() {
return level;
}
public void setLevel(Level level) {
this.level = level;
}
public List<Level> getLevels() {
return levels;
}
public void setLevels(List<Level> levels) {
this.levels = levels;
}
public ILevelService getLevelService() {
return levelService;
}
public void setLevelService(ILevelService levelService) {
this.levelService = levelService;
}
public String getDelData() {
return delData;
}
public void setDelData(String delData) {
this.delData = delData;
}
}