困扰很久的问题:Spring2.5的 SimpleFormController 如何跳转?

gulang76 2009-04-26 12:17:22
用Spring2.5的 SimpleFormController 时,想在formBackingObject()函数里面设置一个权限控制,验证用户没有权限则跳转,如何跳转?
或者用Spring2.5的 SimpleFormController 时有什么好的方法来控制权限?

解决了感激不尽!!!
...全文
180 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hh05061107cm 2011-03-11
  • 打赏
  • 举报
回复
有个建议,在formBackingObject处理方法里抛出相应的异常,然后注册一个HandlerExceptionResolver的实现类,或者注册SimpleMappingExceptionResolver,然后写程序或配置相应的异常类型挑战到相应的页面
narutos 2009-05-20
  • 打赏
  • 举报
回复
哥哥,你都没明白spring的simpleformcontroller是怎么回事。formbackingobject函数,是在初始访问这个页面的时候返回数据在页面中显示。返回的页面是配置文件中的formview。如果你想在打开这个页面的时候就重定向的话,你需要return new ModelAndView(redirect:url)应该是这样的。
villagehead 2009-04-30
  • 打赏
  • 举报
回复
我之前做的一个东西也有权限这个概念,
不过我是单独配置了一个需要权限的urlmapping和不需要的urlmapping,
然后再这个需要权限的urlmapping里面加上一个inspector,
也就是用这个inspector来做权限处理。
这个mapping里面的所有url都会走这个权限处理inspector
因为需要权限管理的请求应该不止一个,所以我是这么做的
楼主看有没有帮助

帮顶

good luck
gulang76 2009-04-30
  • 打赏
  • 举报
回复
自己顶,没人帮帮忙吗?
Steve 2009-04-26
  • 打赏
  • 举报
回复
mark
gulang76 2009-04-26
  • 打赏
  • 举报
回复
以下是代码:
package cn.com.research.web;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.stereotype.Component;
import org.springframework.validation.BindException;
import org.springframework.validation.Errors;
import org.springframework.web.bind.ServletRequestDataBinder;
import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;

import cn.com.research.domain.Award;
import cn.com.research.domain.Log;
import cn.com.research.domain.Research;
import cn.com.research.service.AwardService;
import cn.com.research.service.ResearchService;
import cn.com.research.util.Env;
import cn.com.research.validator.AwardValidator;

@Component
public class EditAwardController extends SimpleFormController {
@Autowired
Env env;

@Autowired
AwardService service;

@Autowired
ResearchService researchService;

@Autowired
void setLectureValidator(AwardValidator validator) {
this.setValidator(validator);
}

protected Object formBackingObject(HttpServletRequest request)throws Exception {
int id = ServletRequestUtils.getIntParameter(request, "id", 0);
Award award = null;
if (id != 0) {
award = service.load(id);
if (1) { //验证权限,不成功则跳转到另一页面list.jsp
...... //如何跳转?
}
} else {
award = new Award();
}
return award;
}

@SuppressWarnings("unchecked")
@Override
protected Map referenceData(HttpServletRequest request, Object command,
Errors errors) throws Exception {
Map refData = new java.util.HashMap();
return refData;
}

@Override
protected void initBinder(HttpServletRequest request,
ServletRequestDataBinder binder) throws Exception {
DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
CustomDateEditor dateEditor = new CustomDateEditor(fmt,true);
binder.registerCustomEditor(Date.class, dateEditor);
super.initBinder(request, binder);
}

protected ModelAndView onSubmit(HttpServletRequest request,
HttpServletResponse response, Object command, BindException errors)
throws Exception {
Award award = (Award) command;
if (award.getId() == 0) {
service.create(award);
} else {
service.update(award);
}
this.setSuccessView("redirect:award/list.htm");
return new ModelAndView(getSuccessView());
}
}

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧