Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jsp如何基于jsp页面调用的servlet所做的处理显示附加数据_Java_Jsp_Servlets - Fatal编程技术网

Java jsp如何基于jsp页面调用的servlet所做的处理显示附加数据

Java jsp如何基于jsp页面调用的servlet所做的处理显示附加数据,java,jsp,servlets,Java,Jsp,Servlets,用户在jsp页面中输入搜索 /app/index.jsp 然后单击提交按钮,该页面将处理发送到servlet,并在单击/app/search?id=1234时更改url servlet处理一个请求,如果只有一个搜索结果,那么它会重定向到该结果的页面,这很好 但是如果没有结果,我想重定向回/app/index.jsp,但我希望它显示一个错误(由servlet生成)。最简单的方法是什么 尝试的解决方案 因此,在我的Servlet中,我有: else {

用户在jsp页面中输入搜索

/app/index.jsp

然后单击提交按钮,该页面将处理发送到servlet,并在单击/app/search?id=1234时更改url

servlet处理一个请求,如果只有一个搜索结果,那么它会重定向到该结果的页面,这很好

但是如果没有结果,我想重定向回/app/index.jsp,但我希望它显示一个错误(由servlet生成)。最简单的方法是什么

尝试的解决方案

因此,在我的Servlet中,我有:

        else
        {
            System.out.println("You didnt enter anything to search for");
            request.setAttribute("error", "You didnt enter anything to search for");
            request.getRequestDispatcher("/index.jsp").forward(request, response);
            return;
        }
(请注意调试,以便我可以在tomcat日志中确认此代码实际上正在运行,而事实就是如此)

然后我的index.jsp说

<h3><%request.getAttribute("error");%></h3>

但当页面显示时,它只是

<h3></h3>

它里面从来没有任何东西

解决方案 我错过了一个等号,改为

<%=request.getAttribute("error")%>


已修复。

您应该使用以下错误消息设置请求:

request.setAttribute("errorMsg", "Error:No users find");
RequestDispatcher rd = null;
rd = request.getRequestDispatcher("index.jsp");
rd.forward(request, response);

有关更多详细信息,您可以查看我的答案,其中有类似的内容

将消息放入请求并转发到搜索页面?@Dave Newton请展开我不知道如何展开更多内容;设置消息的请求属性,转发(而不是重定向,消息将丢失)到搜索页面,在搜索页面上,如果有消息出现,则显示它。谢谢,所以我做了这个请求。setAttribute(“错误”,“错误消息”);request.getRequestDispatcher(“/index.jsp”).forward(请求,响应);返回;在我的jsp中,只有一条消息从未显示出来?@PaulTaylor请将您的问题代码作为编辑分享;所以我可以很好地检查。我想它在jsp中缺少一个“=”