Java源码示例:org.springframework.web.servlet.mvc.support.RedirectAttributesModelMap

示例1
@Test
public void returnViewNameRedirect() throws Exception {
	ModelMap redirectModel = new RedirectAttributesModelMap();
	this.mavContainer.setRedirectModel(redirectModel);
	this.handler.handleReturnValue("redirect:testView", this.param, this.mavContainer, this.webRequest);
	assertEquals("redirect:testView", this.mavContainer.getViewName());
	assertSame(redirectModel, this.mavContainer.getModel());
}
 
示例2
@Test
public void returnViewCustomRedirect() throws Exception {
	ModelMap redirectModel = new RedirectAttributesModelMap();
	this.mavContainer.setRedirectModel(redirectModel);
	this.handler.setRedirectPatterns("myRedirect:*");
	this.handler.handleReturnValue("myRedirect:testView", this.param, this.mavContainer, this.webRequest);
	assertEquals("myRedirect:testView", this.mavContainer.getViewName());
	assertSame(redirectModel, this.mavContainer.getModel());
}
 
示例3
@Test
public void returnViewRedirectWithCustomRedirectPattern() throws Exception {
	ModelMap redirectModel = new RedirectAttributesModelMap();
	this.mavContainer.setRedirectModel(redirectModel);
	this.handler.setRedirectPatterns("myRedirect:*");
	this.handler.handleReturnValue("redirect:testView", this.param, this.mavContainer, this.webRequest);
	assertEquals("redirect:testView", this.mavContainer.getViewName());
	assertSame(redirectModel, this.mavContainer.getModel());
}
 
示例4
@Test
public void handleRedirectAttributesWithViewReference() throws Exception {
	RedirectAttributesModelMap redirectAttributes  = new RedirectAttributesModelMap();
	mavContainer.setRedirectModel(redirectAttributes);

	ModelAndView mav = new ModelAndView(new RedirectView(), "attrName", "attrValue");
	handler.handleReturnValue(mav, returnParamModelAndView, mavContainer, webRequest);

	assertEquals(RedirectView.class, mavContainer.getView().getClass());
	assertEquals("attrValue", mavContainer.getModel().get("attrName"));
	assertSame("RedirectAttributes should be used if controller redirects", redirectAttributes,
			mavContainer.getModel());
}
 
示例5
@Test
public void handleRedirectAttributesWithViewName() throws Exception {
	RedirectAttributesModelMap redirectAttributes  = new RedirectAttributesModelMap();
	mavContainer.setRedirectModel(redirectAttributes);

	ModelAndView mav = new ModelAndView("redirect:viewName", "attrName", "attrValue");
	handler.handleReturnValue(mav, returnParamModelAndView, mavContainer, webRequest);

	ModelMap model = mavContainer.getModel();
	assertEquals("redirect:viewName", mavContainer.getViewName());
	assertEquals("attrValue", model.get("attrName"));
	assertSame(redirectAttributes, model);
}
 
示例6
@Test
public void handleRedirectAttributesWithCustomPrefix() throws Exception {
	RedirectAttributesModelMap redirectAttributes  = new RedirectAttributesModelMap();
	mavContainer.setRedirectModel(redirectAttributes);

	ModelAndView mav = new ModelAndView("myRedirect:viewName", "attrName", "attrValue");
	handler.setRedirectPatterns("myRedirect:*");
	handler.handleReturnValue(mav, returnParamModelAndView, mavContainer, webRequest);

	ModelMap model = mavContainer.getModel();
	assertEquals("myRedirect:viewName", mavContainer.getViewName());
	assertEquals("attrValue", model.get("attrName"));
	assertSame(redirectAttributes, model);
}
 
示例7
@Test
public void handleRedirectAttributesWithoutRedirect() throws Exception {
	RedirectAttributesModelMap redirectAttributes  = new RedirectAttributesModelMap();
	mavContainer.setRedirectModel(redirectAttributes);

	ModelAndView mav = new ModelAndView();
	handler.handleReturnValue(mav, returnParamModelAndView, mavContainer, webRequest);

	ModelMap model = mavContainer.getModel();
	assertEquals(null, mavContainer.getView());
	assertTrue(mavContainer.getModel().isEmpty());
	assertNotSame("RedirectAttributes should not be used if controller doesn't redirect", redirectAttributes, model);
}
 
示例8
@Test
public void returnViewRedirect() throws Exception {
	RedirectView redirectView = new RedirectView("testView");
	ModelMap redirectModel = new RedirectAttributesModelMap();
	this.mavContainer.setRedirectModel(redirectModel);
	MethodParameter param = createReturnValueParam("view");
	this.handler.handleReturnValue(redirectView, param, this.mavContainer, this.webRequest);

	assertSame(redirectView, this.mavContainer.getView());
	assertSame("Should have switched to the RedirectModel", redirectModel, this.mavContainer.getModel());
}
 
示例9
@Test
public void returnViewNameRedirect() throws Exception {
	ModelMap redirectModel = new RedirectAttributesModelMap();
	this.mavContainer.setRedirectModel(redirectModel);
	this.handler.handleReturnValue("redirect:testView", this.param, this.mavContainer, this.webRequest);
	assertEquals("redirect:testView", this.mavContainer.getViewName());
	assertSame(redirectModel, this.mavContainer.getModel());
}
 
示例10
@Test
public void returnViewCustomRedirect() throws Exception {
	ModelMap redirectModel = new RedirectAttributesModelMap();
	this.mavContainer.setRedirectModel(redirectModel);
	this.handler.setRedirectPatterns("myRedirect:*");
	this.handler.handleReturnValue("myRedirect:testView", this.param, this.mavContainer, this.webRequest);
	assertEquals("myRedirect:testView", this.mavContainer.getViewName());
	assertSame(redirectModel, this.mavContainer.getModel());
}
 
示例11
@Test
public void returnViewRedirectWithCustomRedirectPattern() throws Exception {
	ModelMap redirectModel = new RedirectAttributesModelMap();
	this.mavContainer.setRedirectModel(redirectModel);
	this.handler.setRedirectPatterns("myRedirect:*");
	this.handler.handleReturnValue("redirect:testView", this.param, this.mavContainer, this.webRequest);
	assertEquals("redirect:testView", this.mavContainer.getViewName());
	assertSame(redirectModel, this.mavContainer.getModel());
}
 
示例12
@Test
public void handleRedirectAttributesWithViewReference() throws Exception {
	RedirectAttributesModelMap redirectAttributes  = new RedirectAttributesModelMap();
	mavContainer.setRedirectModel(redirectAttributes);

	ModelAndView mav = new ModelAndView(new RedirectView(), "attrName", "attrValue");
	handler.handleReturnValue(mav, returnParamModelAndView, mavContainer, webRequest);

	assertEquals(RedirectView.class, mavContainer.getView().getClass());
	assertEquals("attrValue", mavContainer.getModel().get("attrName"));
	assertSame("RedirectAttributes should be used if controller redirects", redirectAttributes,
			mavContainer.getModel());
}
 
示例13
@Test
public void handleRedirectAttributesWithViewName() throws Exception {
	RedirectAttributesModelMap redirectAttributes  = new RedirectAttributesModelMap();
	mavContainer.setRedirectModel(redirectAttributes);

	ModelAndView mav = new ModelAndView("redirect:viewName", "attrName", "attrValue");
	handler.handleReturnValue(mav, returnParamModelAndView, mavContainer, webRequest);

	ModelMap model = mavContainer.getModel();
	assertEquals("redirect:viewName", mavContainer.getViewName());
	assertEquals("attrValue", model.get("attrName"));
	assertSame(redirectAttributes, model);
}
 
示例14
@Test
public void handleRedirectAttributesWithCustomPrefix() throws Exception {
	RedirectAttributesModelMap redirectAttributes  = new RedirectAttributesModelMap();
	mavContainer.setRedirectModel(redirectAttributes);

	ModelAndView mav = new ModelAndView("myRedirect:viewName", "attrName", "attrValue");
	handler.setRedirectPatterns("myRedirect:*");
	handler.handleReturnValue(mav, returnParamModelAndView, mavContainer, webRequest);

	ModelMap model = mavContainer.getModel();
	assertEquals("myRedirect:viewName", mavContainer.getViewName());
	assertEquals("attrValue", model.get("attrName"));
	assertSame(redirectAttributes, model);
}
 
示例15
@Test
public void handleRedirectAttributesWithoutRedirect() throws Exception {
	RedirectAttributesModelMap redirectAttributes  = new RedirectAttributesModelMap();
	mavContainer.setRedirectModel(redirectAttributes);

	ModelAndView mav = new ModelAndView();
	handler.handleReturnValue(mav, returnParamModelAndView, mavContainer, webRequest);

	ModelMap model = mavContainer.getModel();
	assertEquals(null, mavContainer.getView());
	assertTrue(mavContainer.getModel().isEmpty());
	assertNotSame("RedirectAttributes should not be used if controller doesn't redirect", redirectAttributes, model);
}
 
示例16
@Test
public void returnViewRedirect() throws Exception {
	RedirectView redirectView = new RedirectView("testView");
	ModelMap redirectModel = new RedirectAttributesModelMap();
	this.mavContainer.setRedirectModel(redirectModel);
	MethodParameter param = createReturnValueParam("view");
	this.handler.handleReturnValue(redirectView, param, this.mavContainer, this.webRequest);

	assertSame(redirectView, this.mavContainer.getView());
	assertSame("Should have switched to the RedirectModel", redirectModel, this.mavContainer.getModel());
}
 
示例17
@Override
public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer,
		NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {

	DataBinder dataBinder = binderFactory.createBinder(webRequest, null, null);
	ModelMap redirectAttributes  = new RedirectAttributesModelMap(dataBinder);
	mavContainer.setRedirectModel(redirectAttributes);
	return redirectAttributes;
}
 
示例18
@Test
public void returnViewNameRedirect() throws Exception {
	ModelMap redirectModel = new RedirectAttributesModelMap();
	this.mavContainer.setRedirectModel(redirectModel);
	this.handler.handleReturnValue("redirect:testView", this.param, this.mavContainer, this.webRequest);
	assertEquals("redirect:testView", this.mavContainer.getViewName());
	assertSame(redirectModel, this.mavContainer.getModel());
}
 
示例19
@Test
public void returnViewCustomRedirect() throws Exception {
	ModelMap redirectModel = new RedirectAttributesModelMap();
	this.mavContainer.setRedirectModel(redirectModel);
	this.handler.setRedirectPatterns("myRedirect:*");
	this.handler.handleReturnValue("myRedirect:testView", this.param, this.mavContainer, this.webRequest);
	assertEquals("myRedirect:testView", this.mavContainer.getViewName());
	assertSame(redirectModel, this.mavContainer.getModel());
}
 
示例20
@Test
public void returnViewRedirectWithCustomRedirectPattern() throws Exception {
	ModelMap redirectModel = new RedirectAttributesModelMap();
	this.mavContainer.setRedirectModel(redirectModel);
	this.handler.setRedirectPatterns("myRedirect:*");
	this.handler.handleReturnValue("redirect:testView", this.param, this.mavContainer, this.webRequest);
	assertEquals("redirect:testView", this.mavContainer.getViewName());
	assertSame(redirectModel, this.mavContainer.getModel());
}
 
示例21
@Test
public void handleRedirectAttributesWithViewReference() throws Exception {
	RedirectAttributesModelMap redirectAttributes  = new RedirectAttributesModelMap();
	mavContainer.setRedirectModel(redirectAttributes);

	ModelAndView mav = new ModelAndView(new RedirectView(), "attrName", "attrValue");
	handler.handleReturnValue(mav, returnParamModelAndView, mavContainer, webRequest);

	assertEquals(RedirectView.class, mavContainer.getView().getClass());
	assertEquals("attrValue", mavContainer.getModel().get("attrName"));
	assertSame("RedirectAttributes should be used if controller redirects", redirectAttributes,
			mavContainer.getModel());
}
 
示例22
@Test
public void handleRedirectAttributesWithViewName() throws Exception {
	RedirectAttributesModelMap redirectAttributes  = new RedirectAttributesModelMap();
	mavContainer.setRedirectModel(redirectAttributes);

	ModelAndView mav = new ModelAndView("redirect:viewName", "attrName", "attrValue");
	handler.handleReturnValue(mav, returnParamModelAndView, mavContainer, webRequest);

	ModelMap model = mavContainer.getModel();
	assertEquals("redirect:viewName", mavContainer.getViewName());
	assertEquals("attrValue", model.get("attrName"));
	assertSame(redirectAttributes, model);
}
 
示例23
@Test
public void handleRedirectAttributesWithCustomPrefix() throws Exception {
	RedirectAttributesModelMap redirectAttributes  = new RedirectAttributesModelMap();
	mavContainer.setRedirectModel(redirectAttributes);

	ModelAndView mav = new ModelAndView("myRedirect:viewName", "attrName", "attrValue");
	handler.setRedirectPatterns("myRedirect:*");
	handler.handleReturnValue(mav, returnParamModelAndView, mavContainer, webRequest);

	ModelMap model = mavContainer.getModel();
	assertEquals("myRedirect:viewName", mavContainer.getViewName());
	assertEquals("attrValue", model.get("attrName"));
	assertSame(redirectAttributes, model);
}
 
示例24
@Test
public void handleRedirectAttributesWithoutRedirect() throws Exception {
	RedirectAttributesModelMap redirectAttributes  = new RedirectAttributesModelMap();
	mavContainer.setRedirectModel(redirectAttributes);

	ModelAndView mav = new ModelAndView();
	handler.handleReturnValue(mav, returnParamModelAndView, mavContainer, webRequest);

	ModelMap model = mavContainer.getModel();
	assertEquals(null, mavContainer.getView());
	assertTrue(mavContainer.getModel().isEmpty());
	assertNotSame("RedirectAttributes should not be used if controller doesn't redirect", redirectAttributes, model);
}
 
示例25
@Test
public void returnViewRedirect() throws Exception {
	RedirectView redirectView = new RedirectView("testView");
	ModelMap redirectModel = new RedirectAttributesModelMap();
	this.mavContainer.setRedirectModel(redirectModel);
	MethodParameter param = createReturnValueParam("view");
	this.handler.handleReturnValue(redirectView, param, this.mavContainer, this.webRequest);

	assertSame(redirectView, this.mavContainer.getView());
	assertSame("Should have switched to the RedirectModel", redirectModel, this.mavContainer.getModel());
}