我是Spring MVC的新手。我的abc页面有一个提交按钮。点击提交按钮,abcHandler调用了xyzController里面的内容。 只是想知道如何实现这种情况。
- 如果发生某些错误,则应返回一些消息 - 对于我的abc页面,它应该保持在同一页面。
我试过这个。我面临的问题是,我收到的警告信息是“你必须要有东西......”, 但它导航到错误页面意味着一个空白页面。这不应该发生。我想显示消息并保持在同一页面中。 如何使用spring MVC轻松实现。 请提出一些建议。
public class xyzController extends MultiActionController implements InitializingBean {
public ModelAndView abcHandler(HttpServletRequest request,HttpServletResponse response)throws Exception {
// session
HttpSession session = request.getSession(true);
String abc = "";
if(abc != ""){
}else{
String error = "You must have xyzzzzzz";
return new ModelAndView("2.0/error", "downloaderror", error);
}
return new ModelAndView();
}
}
我的error.jsp就像这样
<!DOCTYPE html>
<html>
<head>
<script src="abc/js/jquery-1.9.0.min.js"></script>
</head>
<body>
<c:if test="${not empty downloaderror}">
<script>
alert("You must have something...");
</script>
</c:if>
</body>
</html>
答案 0 :(得分:0)
在验证失败时不要返回错误页面,而是返回到同一页面,这样你的其他块中的代码应该是
}else{ String error = "You must have xyzzzzzz";
return new ModelAndView("2.0/error", "downloaderror", abc); }
并且还将错误消息存储在你的模型映射中,对照某些键,例如“errormsg”,并在你的abc页面上检查此键,然后打印消息。
答案 1 :(得分:0)
在控制器方法中添加错误标志,如下所示
public ModelAndView abcHandler(HttpServletRequest request, HttpServletResponse response)throws Exception {
ModelAndView model=new ModelAndView();
model.addObject("error", true);
return model;
}
在JSP中
<!DOCTYPE html>
<html>
<head>
<script src="abc/js/jquery-1.9.0.min.js"></script>
</head>
<body>
<c:if test="${error}">
<script>
alert("You must have something...");
</script>
</c:if>
</body>
</html>
答案 2 :(得分:0)
您可以自己实现HandlerExceptionResolver。请参阅本教程:http://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc
答案 3 :(得分:0)
您可以通过以下方式实现该方案:
import org.springframework.web.servlet.ModelAndView;
public ModelAndView abcHandler(HttpServletRequest request, HttpServletResponse response)throws Exception {
ModelAndView model=new ModelAndView();
model.addObject("ERROR_CODE", "Error Occurred");
model.setViewName("page1");
return model;
}
你的jsp页面如下:
的Page1.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<body>
<c:if test="${!empty ERROR_CODE }">
<c:out value="${ERROR_CODE }"></c:out>
</c:if>
</body>
</html>