【Java开源代码栏目提醒】:网学会员鉴于大家对Java开源代码十分关注,论文会员在此为大家搜集整理了“AdFormController.java”一文,供大家参考学习
package com.myad.web;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
import org.springframework.validation.BindException;
import org.springframework.
web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;
import com.myad.model.Ad;
import com.myad.service.AdManager;
public class AdFormController extends SimpleFormController {
private AdManager adManager = null;
public void setAdManager(AdManager adManager) {
this.adManager = adManager;
}
public AdFormController() {
setCommandName("ad");
setCommandClass(Ad.class);
}
protected Object formBackingObject(HttpServletRequest request)
throws Exception {
String adid = request.getParameter("adid");
Ad ad = null;
if (!StringUtils.isEmpty(adid)) {
ad = adManager.getAd(adid);
} else {
ad = new Ad();
}
return ad;
}
public ModelAndView onSubmit(HttpServletRequest request,
HttpServletResponse response, Object command, BindException errors)
throws Exception {
if (logger.isDebugEnabled()) {
logger.debug("entering 'onSubmit' method...");
}
Ad ad = (Ad) command;
boolean isNew = (ad.getAdid() == null);
if (request.getParameter("delete") != null) {
adManager.removeAd(ad.getAdid().toString());
request.getSession().setAttribute("message",
getText("ad.deleted", ad.getAdname()));
} else {
adManager.saveAd(ad);
request.getSession().setAttribute("message",
getText("ad.saved", ad.getAdname()));
if (!isNew) {
return new ModelAndView("redirect:editAd.html", "adid", ad
.getAdid());
}
}
return new ModelAndView(getSuccessView());
}
/**
* Convenience method for getting a i18n key's value. Calling
* getMessageSourceAccessor() is used because the RequestContext variable is
* not set in unit tests b/c there's no DispatchServlet Request.
*
* @param msgKey
* @return
*/
public String getText(String msgKey) {
return getMessageSourceAccessor().getMessage(msgKey);
}
/**
* Convenient method for getting a i18n key's value with a single string
* argument.
*
* @param msgKey
* @param arg
* @return
*/
public String getText(String msgKey, String arg) {
return getText(msgKey, new Object[] { arg });
}
/**
* Convenience method for getting a i18n key's value with arguments.
*
* @param msgKey
* @param args
* @return
*/
public String getText(String msgKey, Object[] args) {
return getMessageSourceAccessor().getMessage(msgKey, args);
}
}