Java JSP/Servlet如果错误停留在同一页上而不是转发

Java JSP/Servlet如果错误停留在同一页上而不是转发,java,mysql,jsp,Java,Mysql,Jsp,我是新来的,整个晚上都在做这个。我知道这应该很简单,我只是错过了一些愚蠢的事情。我有一个jsp页面和一个servlet(下面的代码)。我正在尝试从我的数据库中搜索一个客户,这是可行的。但是,如果找不到客户,我想在同一个jsp页面上发布一条错误消息,以便用户可以重新输入电话号码,以防他们出错。我不知道怎么做。我可以很好地转发到新的“客户”页面,并且我已经成功地尝试重定向回同一页面,但我不知道如何将消息放在那里。救命啊 jsp页面: <%@ page language="java" c

我是新来的,整个晚上都在做这个。我知道这应该很简单,我只是错过了一些愚蠢的事情。我有一个jsp页面和一个servlet(下面的代码)。我正在尝试从我的数据库中搜索一个客户,这是可行的。但是,如果找不到客户,我想在同一个jsp页面上发布一条错误消息,以便用户可以重新输入电话号码,以防他们出错。我不知道怎么做。我可以很好地转发到新的“客户”页面,并且我已经成功地尝试重定向回同一页面,但我不知道如何将消息放在那里。救命啊

jsp页面

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" isELIgnored="false" %>
    <%@ page import="java.util.*" %>  
    <%@ include file="staticpages/pageHeader.html" %>
        <br />      
            <hr />
            <br />
            <form name="custform" method="POST" action="ChooseCustomer.do" >
            <span class="sectionheader">Look Up Customer by Phone Number:</span>

            <input type="text" name="phone1" size="3" maxlength="3" onKeyUp="checklen(this)" />             
            <input type="text" name="phone2" size="3" maxlength="3" onKeyUp="checklen(this)" />
            <input type="text" name="phone3" size="4" maxlength="4" onKeyUp="checklen(this)" />
            <input type="submit" name="formaction" value="Search" />
            <input type="submit" name="formaction" value="Enter New Customer" />
            </form> 
    <%@ include file="staticpages/pageFooter.html" %>

PS这是我第一次构建servlet,所以这对我来说是全新的。我喜欢这些例子,因此您能给予的任何帮助都将不胜感激

如果未找到客户,您可以在
servlet
中的
请求
对象中设置一个标志,例如

          request.setAttribute("customerFound", "No");
在JSP中,放置一个JSP脚本来检查请求属性,并在任何需要的地方打印消息。例如,如果您希望在

之后打印消息,则:

        <hr />
        <% if("No".equals(request.getAttribute("customerFound")) { %>
            <div style="color: red">No customer found</div>
        <% } %>
        <br />

找不到客户

我正在分享实现您期望结果的基本方法。

如果未找到客户,您可以在
servlet的
请求
对象中设置一个标志,例如

          request.setAttribute("customerFound", "No");
在JSP中,放置一个JSP脚本来检查请求属性,并在任何需要的地方打印消息。例如,如果您希望在

之后打印消息,则:

        <hr />
        <% if("No".equals(request.getAttribute("customerFound")) { %>
            <div style="color: red">No customer found</div>
        <% } %>
        <br />

找不到客户

我正在分享实现您期望结果的基本方法。

谢谢@Yogendra Singh!HTML字体标签从1998年开始就被弃用了。不要用它!看到一个声誉相对较高的用户推荐它,真是令人惊讶。这同样适用于使用Scriptlet而不是EL,自2003年以来就不鼓励使用EL。OP显然在使用Servlet3.0/JSP2.2。使用scriptlets根本不适合这里。@BalusC:Udated with
Div
。看起来不错吧?我已经提到了,这是实现目标的最基本的方法。谢谢@Yogendra Singh!HTML字体标签从1998年开始就被弃用了。不要用它!看到一个声誉相对较高的用户推荐它,真是令人惊讶。这同样适用于使用Scriptlet而不是EL,自2003年以来就不鼓励使用EL。OP显然在使用Servlet3.0/JSP2.2。使用scriptlets根本不适合这里。@BalusC:Udated with
Div
。看起来不错吧?我已经提到了,这是实现这一结果的最基本的方法。虽然Yoigendra的答案在技术上是正确的,但他的整个答案使用的技术被认为已经过时、不受欢迎和不受欢迎了十多年。我强烈建议您查看我们的servlets wiki页面。它包含了一个根据MVC思想正确使用JSP和Servlet的具体示例,该示例还包含了一个验证:虽然Yoigendra的答案在技术上是正确的,但他的整个答案使用的技术被认为已经过时、不受欢迎和不受欢迎了十多年。我强烈建议您查看我们的servlets wiki页面。它包含一个根据MVC思想正确使用JSP和Servlet的具体示例,其中还包括一个验证: