Struts 2.1.6 精简实例系列教程(4):新闻管理模块的实现
2009-09-23 00:00:00 来源:WEB开发网上期讲了新闻管理模块Model层的开发,本期让我们来一起开发新闻管理的Action类和JSP页面。
先从JSP页面写起吧,在admin目录下建两个文件,一个是显示新闻列表的article.jsp,另一个是新闻编辑的article- input.jsp,新闻添加和新闻修改归于同一文件,节省一点资源,这一点,学习了Springside开源项目。再建一个新闻管理的Action类 ArticleAction.java。这三个文件的目录结构如下:
网站根目录/WEB-INF/content/admin/article.jsp
网站根目录/WEB-INF/content/admin/article-input.jsp
类路径根目录/cn/simple/action/admin/ArticleAction.java
在前面的教程中,我们已经说过,JSP文件存放的目录是content,也就是说JSP文件相对于网站根目录的访问路径是从content下面的目录算起。类路径要与JSP路径匹配,请大家特别注意上面红色显示部分。
好,来看一下Action类的代码:
package cn.simple.action.admin;
import java.util.Date;
import java.util.List;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
import cn.simple.manager.ArticleManager;
import cn.simple.pojo.Article;
import com.opensymphony.xwork2.ActionSupport;
@Results({
@Result(name="success", location="article.jsp", type="dispatcher"),
@Result(name="input", location="article-input.jsp", type="dispatcher"),
@Result(name="reload", location="article.action", type="redirect")
})
public class ArticleAction extends ActionSupport {
private List<Article> articles;
private Article article;
@Override
public String execute() throws Exception {
return list();
}
//查询列表
public String list() throws Exception {
articles = ArticleManager.selectAllArticles();
return SUCCESS;
}
//进入编辑页面
public String input() throws Exception {
//为了修改
if(null != article && 0 != article.getId()){
int id = article.getId();
article = ArticleManager.queryArticleById(id);
}
//为了新增
else{
article = new Article();
}
return INPUT;
}
//执行新增或修改
public String save() throws Exception {
//新增操作
article.setPubtime(new Date());
if(0 == article.getId()){
ArticleManager.insertArticle(article);
}
//修改操作
else{
ArticleManager.updateArticle(article);
}
return "reload";
}
//执行删除
public String delete() throws Exception {
ArticleManager.deleteArticle(article.getId());
return "reload";
}
/** *//************** getter和setter方法 *****************/
public List<Article> getArticles() {
return articles;
}
public void setArticles(List<Article> articles) {
this.articles = articles;
}
public Article getArticle() {
return article;
}
public void setArticle(Article article) {
this.article = article;
}
}
赞助商链接