WEB开发网
开发学院软件开发Java Struts 2.1.6 精简实例系列教程(4):新闻管理模块... 阅读

Struts 2.1.6 精简实例系列教程(4):新闻管理模块的实现

 2009-09-23 00:00:00 来源:WEB开发网   
核心提示:上期讲了新闻管理模块Model层的开发,本期让我们来一起开发新闻管理的Action类和JSP页面,Struts 2.1.6 精简实例系列教程(4):新闻管理模块的实现,先从JSP页面写起吧,在admin目录下建两个文件,类路径要与JSP路径匹配,请大家特别注意上面红色显示部分,一个是显示新闻列表的article.jsp

上期讲了新闻管理模块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;
    }
    
}

1 2 3  下一页

Tags:Struts 精简 实例

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接