下面列出了org.springframework.web.servlet.mvc.support.RedirectAttributes#addFlashAttribute ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@PostMapping(value = "/new")
public String createEvent(@Valid CreateEventForm createEventForm, BindingResult result,
RedirectAttributes redirectAttributes) {
if (result.hasErrors()) {
return "events/create";
}
CalendarUser attendee = calendarService.findUserByEmail(createEventForm.getAttendeeEmail());
if (attendee == null) {
result.rejectValue("attendeeEmail", "attendeeEmail.missing",
"Could not find a user for the provided Attendee Email");
}
if (result.hasErrors()) {
return "events/create";
}
Event event = new Event();
event.setAttendee(attendee);
event.setDescription(createEventForm.getDescription());
event.setOwner(userContext.getCurrentUser());
event.setSummary(createEventForm.getSummary());
event.setWhen(createEventForm.getWhen());
calendarService.createEvent(event);
redirectAttributes.addFlashAttribute("message", "Successfully added the new event");
return "redirect:/events/my";
}
@RequestMapping(value = "/new", method = RequestMethod.POST)
public String createEvent(@Valid CreateEventForm createEventForm, BindingResult result,
RedirectAttributes redirectAttributes) {
if (result.hasErrors()) {
return "events/create";
}
CalendarUser attendee = calendarService.findUserByEmail(createEventForm.getAttendeeEmail());
if (attendee == null) {
result.rejectValue("attendeeEmail", "attendeeEmail.missing",
"Could not find a user for the provided Attendee Email");
}
if (result.hasErrors()) {
return "events/create";
}
Event event = new Event();
event.setAttendee(attendee);
event.setDescription(createEventForm.getDescription());
event.setOwner(userContext.getCurrentUser());
event.setSummary(createEventForm.getSummary());
event.setWhen(createEventForm.getWhen());
calendarService.createEvent(event);
redirectAttributes.addFlashAttribute("message", "Successfully added the new event");
return "redirect:/events/my";
}
/**
* 保存Group
*
* @return
*/
@RequestMapping(value = "group/save", method = RequestMethod.POST)
public String saveGroup(@RequestParam("groupId") String groupId,
@RequestParam("groupName") String groupName,
@RequestParam("type") String type,
RedirectAttributes redirectAttributes) {
Group group = identityService.createGroupQuery().groupId(groupId).singleResult();
if (group == null) {
group = identityService.newGroup(groupId);
}
group.setName(groupName);
group.setType(type);
identityService.saveGroup(group);
redirectAttributes.addFlashAttribute("message", "成功添加组[" + groupName + "]");
return "redirect:/chapter14/identity/group/list";
}
@PostMapping(value = "/new")
public String createEvent(@Valid CreateEventForm createEventForm, BindingResult result,
RedirectAttributes redirectAttributes) {
if (result.hasErrors()) {
return "events/create";
}
CalendarUser attendee = calendarService.findUserByEmail(createEventForm.getAttendeeEmail());
if (attendee == null) {
result.rejectValue("attendeeEmail", "attendeeEmail.missing",
"Could not find a user for the provided Attendee Email");
}
if (result.hasErrors()) {
return "events/create";
}
Event event = new Event();
event.setAttendee(attendee);
event.setDescription(createEventForm.getDescription());
event.setOwner(userContext.getCurrentUser());
event.setSummary(createEventForm.getSummary());
event.setWhen(createEventForm.getWhen());
calendarService.createEvent(event);
redirectAttributes.addFlashAttribute("message",
"Successfully added the new event");
return "redirect:/events/my";
}
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, params = "!action")
public String updateTask(@PathVariable("id") Long id, @ModelAttribute("task") @Valid TaskForm fm, BindingResult result, RedirectAttributes redirectAttrs) {
log.debug("updating task @" + fm);
if (result.hasErrors()) {
return "edit";
}
Task task = taskRepository.findOne(id);
if (task == null) {
throw new TaskNotFoundException(id);
}
task.setName(fm.getName());
task.setDescription(fm.getDescription());
taskRepository.save(task);
redirectAttrs.addFlashAttribute("flashMessage", AlertMessage.info("Task is updated sucessfully!"));
return "redirect:/tasks";
}
@RequiresRoles("admin")
@RequestMapping(value = "create", method = RequestMethod.POST)
public String create(@Valid Menu menu, BindingResult result, Model model,
RedirectAttributes redirectAttributes) {
if (result.hasErrors()) {
Menu topMenu = accountService.getTopMenu();
menu.setParent(topMenu);
model.addAttribute("menu", menu);
model.addAttribute("allShows", allShows);
model.addAttribute("action", "create");
return "account/menuForm";
}
generateMenuParentIds(menu);
accountService.saveMenu(menu);
redirectAttributes.addFlashAttribute("message", "创建菜单成功");
return "redirect:/account/menu";
}
/**
* POST deletes the selected filter.
*/
@RequestMapping(path = "/delete/{id}", method = RequestMethod.POST)
public String delete(@PathVariable final Long id, final RedirectAttributes redirectAttributes) {
// Retrieve it
final Optional<Filter> filterOptional = filterRepository.findById(id);
if (!filterOptional.isPresent()) {
// Set flash message & redirect
redirectAttributes.addFlashAttribute("FlashMessage", FlashMessage.newWarning("Unable to remove filter!"));
} else {
final Filter filter = filterOptional.get();
try {
// Delete any children
final List<ViewToFilterEnforced> enforcedList = viewToFilterEnforcedRepository.findByFilterId(id);
final List<ViewToFilterOptional> optionalList = viewToFilterOptionalRepository.findByFilterId(id);
viewToFilterEnforcedRepository.deleteAll(enforcedList);
viewToFilterOptionalRepository.deleteAll(optionalList);
// Delete entity
filterRepository.deleteById(id);
// Delete jar from disk
Files.delete(recordFilterPluginFactory.getPathForJar(filter.getJar()));
redirectAttributes.addFlashAttribute("FlashMessage", FlashMessage.newSuccess("Deleted filter!"));
} catch (IOException e) {
e.printStackTrace();
}
}
// redirect to cluster index
return "redirect:/configuration/filter";
}
/**
* 削除処理
*
* @param staffId
* @param attributes
* @return
*/
@PostMapping("/remove/{staffId}")
public String removeStaff(@PathVariable Long staffId, RedirectAttributes attributes) {
// 論理削除する
staffService.delete(staffId);
// 削除成功メッセージ
attributes.addFlashAttribute(GLOBAL_MESSAGE, getMessage(MESSAGE_DELETED));
return "redirect:/system/staffs/find";
}
@PutMapping
protected String updateCreds(Principal user,
@ModelAttribute("command") @Validated(value = { Default.class, CredentialUpdateChecks.class }) CredentialsManagementCommand cmc,
BindingResult br, RedirectAttributes redirectAttributes) {
if (br.hasErrors()) {
return "credentialsSettings";
}
List<Boolean> failures = new ArrayList<>();
List<UserCredential> creds = securityService.getCredentials(user.getName(), App.values());
cmc.getCredentials().forEach(c -> {
creds.parallelStream().filter(sc -> StringUtils.equals(String.valueOf(sc.hashCode()), c.getHash()))
.findAny().ifPresent(dbCreds -> {
if (c.getMarkedForDeletion()) {
if (!securityService.deleteCredential(dbCreds)) {
LOG.warn("Could not delete creds for user {}", dbCreds.getUsername());
failures.add(true);
}
} else {
UserCredential newCreds = new UserCredential(dbCreds);
newCreds.setEncoder(c.getEncoder());
newCreds.setExpiration(c.getExpirationInstant());
if (!securityService.updateCredentials(dbCreds, newCreds, "User updated", false)) {
LOG.warn("Could not update creds for user {}", dbCreds.getUsername());
failures.add(true);
}
}
});
});
redirectAttributes.addFlashAttribute("settings_toast", failures.isEmpty());
return "redirect:credentialsSettings.view";
}
@RequestMapping(value="/signup/new",method=RequestMethod.POST)
public String signup(@Valid SignupForm signupForm, BindingResult result, RedirectAttributes redirectAttributes) {
if(result.hasErrors()) {
return "signup/form";
}
String email = signupForm.getEmail();
if(calendarService.findUserByEmail(email) != null) {
result.rejectValue("email", "errors.signup.email", "Email address is already in use.");
return "signup/form";
}
CalendarUser user = new CalendarUser();
user.setEmail(email);
user.setFirstName(signupForm.getFirstName());
user.setLastName(signupForm.getLastName());
user.setPassword(signupForm.getPassword());
logger.info("CalendarUser: {}", user);
int id = calendarService.createUser(user);
user.setId(id);
userContext.setCurrentUser(user);
redirectAttributes.addFlashAttribute("message", "You have successfully signed up and logged in.");
return "redirect:/";
}
@RequestMapping(value = "/edit/{id}", method = RequestMethod.POST)
public ModelAndView editRole(@ModelAttribute @Valid Role role, BindingResult result, @PathVariable String id,
final RedirectAttributes redirectAttributes) throws RoleNotFound {
if (result.hasErrors())
return new ModelAndView("role-edit");
ModelAndView mav = new ModelAndView("redirect:/admin/role/list");
String message = "Role was successfully updated.";
rService.changeRole(role);
redirectAttributes.addFlashAttribute("message", message);
return mav;
}
@PostMapping
public ModelAndView create(@Valid Message message, BindingResult result, RedirectAttributes redirect) {
if (result.hasErrors()) {
return new ModelAndView("messages/form", "formErrors", result.getAllErrors());
}
message = this.messageRepository.save(message);
redirect.addFlashAttribute("globalMessage", "view.success");
return new ModelAndView("redirect:/{message.id}", "message.id", message.getId());
}
@PostMapping(value="/signup/new")
public String signup(@Valid SignupForm signupForm, BindingResult result, RedirectAttributes redirectAttributes) {
if(result.hasErrors()) {
return "signup/form";
}
String email = signupForm.getEmail();
if(calendarService.findUserByEmail(email) != null) {
result.rejectValue("email", "errors.signup.email", "Email address is already in use.");
return "signup/form";
}
CalendarUser user = new CalendarUser();
user.setEmail(email);
user.setFirstName(signupForm.getFirstName());
user.setLastName(signupForm.getLastName());
user.setPassword(signupForm.getPassword());
logger.info("CalendarUser: {}", user);
int id = calendarService.createUser(user);
user.setId(id);
userContext.setCurrentUser(user);
redirectAttributes.addFlashAttribute("message", "You have successfully signed up and logged in.");
return "redirect:/";
}
@RequestMapping(method = RequestMethod.POST)
public String update(
@PathVariable String language,
@Validated @ModelAttribute(FORM_MODEL_KEY) GoogleAnalyticsUpdateForm form,
BindingResult errors,
@AuthenticationPrincipal AuthorizedUser authorizedUser,
RedirectAttributes redirectAttributes) {
redirectAttributes.addFlashAttribute(FORM_MODEL_KEY, form);
redirectAttributes.addFlashAttribute(ERRORS_MODEL_KEY, errors);
if (errors.hasErrors()) {
return "redirect:/_admin/{language}/analytics/edit?step.edit";
}
GoogleAnalyticsUpdateRequest request = new GoogleAnalyticsUpdateRequest();
request.setBlogId(Blog.DEFAULT_ID);
request.setTrackingId(form.getTrackingId());
request.setProfileId(form.getProfileId());
request.setCustomDimensionIndex(form.getCustomDimensionIndex());
request.setServiceAccountId(form.getServiceAccountId());
request.setServiceAccountP12File(form.getServiceAccountP12File());
GoogleAnalytics updatedGoogleAnalytics;
try {
updatedGoogleAnalytics = blogService.updateGoogleAnalytics(request);
} catch (GoogleAnalyticsException e) {
errors.reject("GoogleAnalytics");
return "redirect:/_admin/{language}/analytics/edit?step.edit";
}
redirectAttributes.getFlashAttributes().clear();
redirectAttributes.addFlashAttribute("updatedGoogleAnalytics", updatedGoogleAnalytics);
return "redirect:/_admin/{language}/analytics";
}
@GetMapping("/{notification}/delete")
public String deleteNotification(@RequestParam(required = false) Integer page, @PathVariable Notification notification, RedirectAttributes redirectAttributes) {
ErrorUtils.requireNonNullNotification(notification);
int currentPage = NotificationUtils.normalizePage(page);
notificationManagementService.deleteNotification(notification);
redirectAttributes.addFlashAttribute("notification_success", "Notification Deleted");
return "redirect:/management/notifications?page=" + currentPage;
}
@RequestMapping(value="/persons", method=RequestMethod.POST)
public String save(RedirectAttributes redirectAttrs) throws Exception {
redirectAttrs.addFlashAttribute("one", "1");
redirectAttrs.addFlashAttribute("two", 2.222);
redirectAttrs.addFlashAttribute("three", new URL("http://example.com"));
return "redirect:/person/1";
}
@RequestMapping(value = "changePassword")
public String changePassword(
HttpServletRequest request,
@RequestParam("ids") Long[] ids, @RequestParam("newPassword") String newPassword,
@CurrentUser User opUser,
RedirectAttributes redirectAttributes) {
getUserService().changePassword(opUser, ids, newPassword);
redirectAttributes.addFlashAttribute(Constants.MESSAGE, "改密成功!");
return redirectToUrl((String) request.getAttribute(Constants.BACK_URL));
}
/**
* 添加Flash消息
*/
protected void addMessage(RedirectAttributes redirectAttributes, String... messages) {
StringBuilder sb = new StringBuilder();
for (String message : messages){
sb.append(message).append(messages.length>1?"<br/>":"");
}
redirectAttributes.addFlashAttribute("message", sb.toString());
}
@RequestMapping(value = "{person}/multiplePayments/register", method = RequestMethod.POST)
public String registerMultiplePayments(@PathVariable Person person, HttpSession httpSession, Model model, User loggedUser,
@RequestParam String identifier, RedirectAttributes redirectAttributes) {
accessControlService.isPaymentManager(loggedUser);
final String attribute = MULTIPLE_PAYMENTS_ATTRIBUTE + identifier;
PaymentsManagementDTO paymentsManagementDTO = (PaymentsManagementDTO) httpSession.getAttribute(
attribute);
CreatePaymentsForEvents.run(loggedUser, paymentsManagementDTO.getSelectedEntries(), paymentsManagementDTO
.getPaymentMethod(), paymentsManagementDTO.getPaymentReference(), new DateTime());
httpSession.removeAttribute(attribute);
redirectAttributes.addFlashAttribute(paymentsManagementDTO);
return "redirect:" + REQUEST_MAPPING + "/" + person.getExternalId() + "/multiplePayments/conclude";
}
private void addMessage(RedirectAttributes redirect, String cssClass, String text) {
redirect.addFlashAttribute(MSG_ATTRIBUTE_NAME, new WebMessage(cssClass, text));
}