2014-09-07 2 views
0

CRUD 작업 (CREATE, DELETE 등)의 일부 유형을 성공적으로 수행했거나 성공적으로 수행하지 못하면 메시지를 표시하는 동안 문제가 발생합니다. 내가 리디렉션 플래시 속성을 사용하려고 시도했지만, 나는 이것들과 함께 행운을 찾지 못했지만 메시지를 전혀 표시 할 수 없습니다.스프링 MVC 리디렉션 특성 메시지

public String DeleteAction(Model model, Object object, @RequestParam int id, RedirectAttributes attributes) { 
    // Method logic 
    object.delete(id); 
    attributes.addFlashAttribute("success", "Object has been removed successfully."); 
    return "index"; // View resolver redirect 
} 

보기에 바인더 제본 할 내가 플래시 속성을 선언 내 컨트롤러 중 하나에서 내 함수의 예입니다 : 예를 들어 내 컨트롤러 방법 내에서이 같은 선언했다. 나는 여전히 표시 할 수는 없지만 .jsp ${success} 내에서 이와 같은 플래시 속성을 호출합니다. 이 기능을 사용할 수없는 누락 된 것이 있습니까?

+0

"redirect :"+ "index"가 표시되지 않는 이유는 무엇입니까? 플래시 속성의 사용법은 있어야합니다. –

+0

난 그냥 "보기"반환 할 수 및보기 해결 프로그램이 나머지 부분을 처리 할 수 ​​있다고 생각하기 때문에 그것은 리디렉션 그냥 새로운보기로 매핑 리디렉션 아니라고 간주 문제가 될 수 있습니다. 그러나 나는'return '리다이렉션을 시도했다 : 인덱스''와 그것도 작동하지 않았다. 그래서 나는 왜 아직도 불분명한지 떠났다. 실제로 거기에 '+'기호를 추가해야하는 경우가 아니라면 맞습니까? – Maff

+0

@Maff 응답 게시 됨, 도움이된다면 –

답변

2

controllers이 리디렉션 시나리오의 특성을 선택할 때 사용할 수있는 Model 인터페이스의 특수화입니다. redirect attributes을 추가하려는 의도는 매우 명확합니다. 즉 redirect URL에 사용됩니다.

@RequestMapping(value = "/delete", method = RequestMethod.GET) 
public String DeleteAction(Model model, Object object, @RequestParam int id RedirectAttributes attributes) { 
    object.delete(id); 
    attributes.addFlashAttribute("success", "Object has been removed successfully."); 
    return "redirect:" + "index"; 
} 
+0

필자는이 코드 세그먼트를 시도하고 그에 따른 피드백을 제공 할 것입니다. "c : if"문을 사용하여 조건부로 플래시 속성 객체 "success"를 검사하고 null인지 여부를 확인할 수 있습니까? – Maff

+0

@Maff yes는 수행 할 수 있습니다. –

+1

이 현재 저에게 효과가 있다는 것을 확인했습니다. 나는 여전히 '+'심볼을 제공하지 않고 이것을 시도하고 있으며, 리다이렉트를 리턴한다 : index "; ' – Maff