利用Stripes、Apache Derby和Eclipse进行无配置的J2EE开发(二)(5)
时间:2011-03-26 IBM B.J. Allmon
清单 7 展示了 glossary.action.GlossaryActionBean.java。
清单 7. Glossary.action.GlossaryActionBean.java
<![CDATA[
package glossary.action;
import glossary.Term;
import glossary.dao.MyGlossaryTerm;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import net.sourceforge.stripes.action.ActionBean;
import net.sourceforge.stripes.action.ActionBeanContext;
import net.sourceforge.stripes.action.DefaultHandler;
import net.sourceforge.stripes.action.ForwardResolution;
import net.sourceforge.stripes.action.HandlesEvent;
import net.sourceforge.stripes.action.RedirectResolution;
import net.sourceforge.stripes.action.Resolution;
import net.sourceforge.stripes.action.UrlBinding;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
//http://localhost:8080/article/glossary/action/Glossary.action
@UrlBinding("/glossary/action")
public class GlossaryActionBean implements ActionBean {
private static final Log log = LogFactory.getLog (GlossaryActionBean.class);
private List results = new ArrayList();
private Term term;
private MyGlossaryTerm gmt;
private ActionBeanContext context;
public ActionBeanContext getContext() {
return context;
}
public void setContext(ActionBeanContext actionBeanContext) {
this.context = actionBeanContext;
}
@DefaultHandler
public Resolution load() {
log.info("loading");
results.clear();
results = MyGlossaryTerm.getInstance().findAllWords();
//resultSize = getResultSize();
// just here for debugging purposes
if (results == null) {
results = new ArrayList();
results.add("ERROR LOADING GLOSSARY.");
}
return new ForwardResolution("/glossary/index.jsp");
}
@HandlesEvent("editForm")
public Resolution editForm() {
setTerm(gmt.getSingleTerm(this.term.getId()));
return new RedirectResolution("/glossary/termEdit.jsp").flash (this);
}
@HandlesEvent("save")
public Resolution save() {
Term updatedTerm = new Term();
updatedTerm.setId(this.term.getId());
updatedTerm.setDefinition(this.term.getDefinition());
gmt.updateTerm(updatedTerm);
return new RedirectResolution ("/glossary/action/Glossary.action")
.flash(this);
}
@HandlesEvent("delete")
public Resolution delete() {
gmt.deleteTerm(this.term.getId());
return new RedirectResolution ("/glossary/action/Glossary.action")
.flash(this);
}
@HandlesEvent("addForm")
public Resolution
|