继承自第一节创建的项目,第二章主要是来细节讲一下代码上的内容。
关注:写到这一章时, google engine 的 SDK 已经 1.2.6 , 经我测试发现,这一版本已经不支持freemarker 的很多 struts 标签功能了,这一点几乎就判了Struts 2的死型,因为Struts 2里面的 很多标签都直接由freemarker来实现。
CMS的项目可大可小,为写博客所需。我所创建的blog仅实现文章的CRUD, 至于其它一概不是本节所能涉及的范围。
先来实现文章的管理模块。
1. 写文章管理的配置文件
2. 实现文章管理Action
3. 美化UI
Okay了,突然觉得代码这一块实在无从写起,所以,要代码的人,直接发站内信吧。
关注:写到这一章时, google engine 的 SDK 已经 1.2.6 , 经我测试发现,这一版本已经不支持freemarker 的很多 struts 标签功能了,这一点几乎就判了Struts 2的死型,因为Struts 2里面的 很多标签都直接由freemarker来实现。
CMS的项目可大可小,为写博客所需。我所创建的blog仅实现文章的CRUD, 至于其它一概不是本节所能涉及的范围。
先来实现文章的管理模块。
1. 写文章管理的配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<!--Article Manager-->
<package name="article" namespace="/admin/article" extends="default">
<action name="Article_*" method="{1}" class="article.articleAct">
<result name="list">/WEB-INF/article/list.html</result>
<result name="add">/WEB-INF/article/add.html</result>
<result name="edit">/WEB-INF/article/edit.html</result>
<result name="main">/WEB-INF/article/main.html</result>
<result name="left">/WEB-INF/article/left.html</result>
</action>
</package>
</struts>
2. 实现文章管理Action
/**
*
*/
package com.yourhz.core.admin.action;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import com.yourhz.core.ActionResult;
import com.yourhz.core.BaseAction;
import com.yourhz.core.manager.ArticleMng;
import com.yourhz.core.pojo.Article;
/**
* @author weifang
*
*/
@Controller("article.articleAct")
public class ArticleAct extends BaseAction {
public String list() {
this.articleList = articleManager.findAll();
return ActionResult.LIST;
}
public String add() {
return ActionResult.ADD;
}
public String edit() {
return ActionResult.EDIT;
}
public String del() {
return ActionResult.LIST;
}
public String save() {
articleManager.save(bean);
return list();
}
public String left() {
return ActionResult.LEFT;
}
@Autowired
private ArticleMng articleManager;
private Article bean = new Article();
private List<Article> articleList = new ArrayList<Article>();
/**
* @return the bean
*/
public Article getBean() {
return bean;
}
/**
* @param bean
* the bean to set
*/
public void setBean(Article bean) {
this.bean = bean;
}
/**
* @param articleList
* the articleList to set
*/
public void setArticleList(List<Article> articleList) {
this.articleList = articleList;
}
/**
* @return the articleList
*/
public List<Article> getArticleList() {
return articleList;
}
}
3. 美化UI
Okay了,突然觉得代码这一块实在无从写起,所以,要代码的人,直接发站内信吧。