gpt4 book ai didi

java - jsp如何根据jsp页面调用的servlet完成的处理显示附加数据

转载 作者:行者123 更新时间:2023-12-02 04:51:49 24 4
gpt4 key购买 nike

用户在 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);

更多细节,你可以查看我的答案,有类似的scenario

关于java - jsp如何根据jsp页面调用的servlet完成的处理显示附加数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29149944/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com