我在jsp页面中有一个html表单,在提交时将转到servlet ..在servlet中执行函数之后,我再次将其重定向到同一个jsp页面,从中调用成功消息以显示在相同的jsp页面,但我不知道如何做到这一点......
这是我的jsp表单代码..
<form action="CallTimer" method="GET">
<label class="button2">Set Date: </label>
<input type="text" name="date" id="date">
<label class="button2">Set Hour </label>
<input type="text" name="hour" id="hour">
<label class="button2">Set Minute: </label>
<input type="text" name="minute" id="minute">
<input type="Submit" name="Submit" value="Submit" id="Submit">
<br/><br/>
<label class="button2">Set File-Path: </label>
<input type="text" name="filepath" id="filepath">
</form>
这是我的servlet重定向代码。
response.sendRedirect("Automail.jsp");
答案 0 :(得分:6)
在Servlet:
// You need to set value in session for redirection.
session.setAttribute("msg","Success");
response.sendRedirect("Automail.jsp");
Automail.jsp
${msg}
答案 1 :(得分:3)
在servlet中:
response.sendRedirect("Automail.jsp?success=1");
在你的jsp中:
<c:if test="${param.success eq 1}">
<div> success </div>
</c:if>
答案 2 :(得分:2)
根据你的要求,我建议你去找ajax。我给出了一个简单的例子,说明如何将数据传递给servlet。Click here以了解更多关于jquery ajax的信息
$.ajax(
{
type: "get",
url: "CallTimer", //Your full URL goes here
data: { name: name1, date: date1,hour:hour1,filepath:filepath1,minute:minute1},
success: function(data, textStatus, jqXHR){
alert("success");
},
error: function(jqXHR){
alert(jqXHR.responseStatus);
}
});
注意名称 - 参数名称和名称1参数值,小时参数名称和小时1参数值。对于其他人。不要在表单中使用获取操作,因为参数值将显示在网址中并且还存在限制为2048个字符
答案 3 :(得分:1)
在servlet中:
session.setAttribute("message","successful");
response.sendRedirect("Automail.jsp");
在JSP中:
<c:if test="${not empty message}">
<h3 style='color:green'>${message}</h3>
<c:remove var="message"/>
</c:if>
打印后不要忘记删除变量,以免刷新页面后出现消息。