我正在制作一个Spring启动的Web应用程序,我想处理唯一的键约束异常并将错误消息返回到输入页面。我已经搜索了很多这种方法,但没有找到。
控制器类:-
package com.ems.master.controller;
import java.sql.SQLIntegrityConstraintViolationException;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ems.master.dao.EnterpriseDao;
import com.ems.master.model.Enterprise;
@Controller
public class MasterController {
@Autowired
EnterpriseDao edao;
@GetMapping("/")
public String index() {
return "Pages/index.html";
}
@RequestMapping("/Register")
public String register() {
return "Pages/AddEnterprise.html";
}
@RequestMapping("/AddEnterprise")
@ExceptionHandler(SQLIntegrityConstraintViolationException.class)
public String addEnterprise(ModelMap model, @RequestParam("entName") String entName,
@RequestParam("entDesc") String entDesc, @RequestParam("owner") String owner,
@RequestParam("contact") String contact, @RequestParam("code") String code,
@RequestParam("contactNo") String contactNo, @RequestParam("contactEmail") String contactEmail) {
try {
Enterprise ent = new Enterprise();
ent.setEnterpriseName(entName);
ent.setEnterpriseDesc(entDesc);
ent.setOwner(owner);
ent.setContactPerson(contact);
ent.setContactNo(code + "-" + contactNo);
ent.setContactEmail(contactEmail);
ent.setStatus("Active");
edao.insert(ent);
model.put("status", ent.getEnterpriseName() + " registered successfully.");
return "Pages/Homepage.html";
} catch (SQLIntegrityConstraintViolationException ex) {
model.put("error", ex.getMessage());
return "Pages/AddEnterprise.html";
}
}
}
请建议我做什么?
我认为您需要ReDirectAttie tes
,请查看此链接:ReDirectAttie tes: addAtcm()vs addFlashAtcm()
@RequestMapping("/AddEnterprise")
@ExceptionHandler(SQLIntegrityConstraintViolationException.class)
public String addEnterprise(ModelMap model, @RequestParam("entName") String entName,
@RequestParam("entDesc") String entDesc, @RequestParam("owner") String owner,
@RequestParam("contact") String contact, @RequestParam("code") String code,
@RequestParam("contactNo") String contactNo, @RequestParam("contactEmail") String contactEmail, RedirectAttributes redirectAttrs) {
try {
Enterprise ent = new Enterprise();
ent.setEnterpriseName(entName);
ent.setEnterpriseDesc(entDesc);
ent.setOwner(owner);
ent.setContactPerson(contact);
ent.setContactNo(code + "-" + contactNo);
ent.setContactEmail(contactEmail);
ent.setStatus("Active");
edao.insert(ent);
model.put("status", ent.getEnterpriseName() + " registered successfully.");
return "Pages/Homepage.html";
} catch (SQLIntegrityConstraintViolationException ex) {
redirectAttrs.addAttribute("error", ex.getMessage());
return "redirect:/Register";
}
}
我正在用这样的方法 我想在异常发生时返回一些文本消息,但是现在我只返回状态和空对象。有可能做吗?
问题内容: 当我将鼠标悬停在任何单词上时,总是显示一个黑框。如果PHP代码返回文本,它将显示在黑框中(应该显示)。但是,如果文本未返回,我希望它返回一个错误函数,以便以后可以更改黑盒的CSS,以使其宽度为而不是。 您可能已经发现,我遗漏了一些不重要的代码。希望有人能理解和帮助我!谢谢! 问题答案: 这正是您可以执行的操作: 在您的PHP文件中: 在您的jQuery AJAX端:
问题内容: 我想在路径中找到匹配的字符串,并使用np.select创建一个新列,其中的标签取决于我找到的匹配项。 这是我写的 但是,当我运行此代码时,出现以下错误消息: ValueError:condlist中的无效条目0:应为boolean ndarray 这是我的数据样本 问题答案: 该方法在对象列上操作。此类列中可能包含非字符串值,结果是这些行而不是返回。然后抱怨,因为这不是布尔值。 幸运的
我有一个有三个标签的手风琴面板。在第一个选项卡中,是一个带有所需InputExt的表单。现在我遇到了一个问题,错误消息显示在所有三个选项卡中,而不是仅显示在一个选项卡中。有什么建议吗?如何仅为一个选项卡设置所需输入的错误消息? 谢谢帮忙!
我正在努力使用Alamofire及其浏览器获取返回的json错误消息<代码>成功/。故障方法。 在使用这个之前,我可以使用