Java 如何在jsp页面中显示消息
我完全是jsp的初学者,我需要在一个简单的计算前后显示一条消息。 在Eclipse中,我制作了一个index.html作为主页,一个testrun.html运行servlet,一个servlet TEST.java进行计算并显示消息,一个testmsg.jsp在参数$message中显示消息。 当我尝试运行该项目时,testmsg.jsp不会显示任何消息,而且我还收到一个错误。 我试图回答这个问题,但没有成功。 有人能帮我理解为什么testmsg.jsp不工作,我得到了错误吗 谢谢 错误 index.htmlJava 如何在jsp页面中显示消息,java,html,jsp,runtime-error,message,Java,Html,Jsp,Runtime Error,Message,我完全是jsp的初学者,我需要在一个简单的计算前后显示一条消息。 在Eclipse中,我制作了一个index.html作为主页,一个testrun.html运行servlet,一个servlet TEST.java进行计算并显示消息,一个testmsg.jsp在参数$message中显示消息。 当我尝试运行该项目时,testmsg.jsp不会显示任何消息,而且我还收到一个错误。 我试图回答这个问题,但没有成功。 有人能帮我理解为什么testmsg.jsp不工作,我得到了错误吗 谢谢 错误 ind
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Test</title>
</head>
<body>
<h1>
<p align="center">TEST</p>
</h1>
<a href="./testrun.html"> Run the test</a>
</body>
</html>
testmsg.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Test</title>
</head>
<body>
<h1><center>Test</center></h1>
<p>
<h2> ${message}</h2>
<br>
</p>
</body>
</html>
试验
试验
${message}
您的RequestDispatcher
无效,请更改为
request.getRequestDispatcher("testmsg.jsp").forward(request, response);
您的
RequestDispatcher
无效,请更改为
request.getRequestDispatcher("testmsg.jsp").forward(request, response);
您的代码正在发送
doGet(请求、响应,“开始计算”)代码>和doGet(请求、响应,“结束计算”)两次。因此,servlet将发送响应,即:request.getRequestDispatcher(“/WEB-INF/testmsg.jsp”)…
这是您第一次调用doGet()
方法,当您再次调用此方法时,它将在提交响应后抛出错误无法转发。相反,您为什么不在doGet
方法中执行以下操作:
Object data = msg;
if(msg.equals("End computing")){
request.setAttribute("message", data);
request.getRequestDispatcher("/WEB-INF/testmsg.jsp").forward(request, response);
}
您的代码正在发送doGet(请求、响应,“开始计算”)代码>和doGet(请求、响应,“结束计算”)两次。因此,servlet将发送响应,即:request.getRequestDispatcher(“/WEB-INF/testmsg.jsp”)…
这是您第一次调用doGet()
方法,当您再次调用此方法时,它将在提交响应后抛出错误无法转发。相反,您为什么不在doGet
方法中执行以下操作:
Object data = msg;
if(msg.equals("End computing")){
request.setAttribute("message", data);
request.getRequestDispatcher("/WEB-INF/testmsg.jsp").forward(request, response);
}
我做了,但没有改变。testmsg.jsp在WEB-INF文件夹中,我做了,但没有做任何更改。jsp在WEB-INF文件夹中,我需要显示两条正确的消息,一条在计算之前,另一条在计算之后。如果servlet错误,请帮助我修复它。我应该使用两个不同的servlet吗?如何生成和调用它们?我需要显示两条正确的消息,一条在计算之前,另一条在计算之后。如果servlet错误,请帮助我修复它。我应该使用两个不同的servlet吗?如何生成和调用它们?我修复了第一个问题,更改了doGet方法,但是当我第二次调用doGet时,没有显示第二条消息,而是出现了错误:java.lang.IllegalStateException:提交响应后无法转发protected void doGet(HttpServletRequest请求,HttpServletResponse响应,String msg)抛出ServletException,IOException{Object data=msg;RequestDispatcher view=request.getRequestDispatcher(“/WEB-INF/testmsg.jsp”);request.setAttribute(“message”,data);view.forward(请求,响应);}
我修复了第一个问题,更改了doGet方法,但是当我调用第二次doGet时,没有显示第二条消息,而是得到了错误:java.lang.IllegalStateException:提交响应后无法转发受保护的void doGet(HttpServletRequest请求,HttpServletResponse响应,String msg)抛出ServletException,IOException{Object data=msg;RequestDispatcher view=request.getRequestDispatcher(“/WEB-INF/testmsg.jsp”);request.setAttribute(“message”,data);view.forward(request,response);}
Object data = msg;
if(msg.equals("End computing")){
request.setAttribute("message", data);
request.getRequestDispatcher("/WEB-INF/testmsg.jsp").forward(request, response);
}