gpt4 book ai didi

java - sendRedirect() 问题

转载 作者:行者123 更新时间:2023-12-01 23:04:28 25 4
gpt4 key购买 nike

我正在创建一个网络界面,用户可以在公式中输入一些内容:但是当我按下“确定”按钮时,我收到以下错误代码:

java.lang.IllegalStateException: Cannot call sendRedirect() after the response has been committed

我的代码:

<%!
String validate (String input) {
String error = "";
int receptnr = 0;
String error1 = "";
int varenr = 0;
try {
receptnr = Integer.parseInt(input);
varenr= Integer.parseInt(input);

} catch (Exception e) {
error = error +"Receptnummeret skal være et tal";
error1 = error1 +"Varenummer skal være et tal";
}
if (receptnr > 99999999||receptnr<1||varenr > 99999999||varenr<1)
error = error + " Receptnummeret skal være mellem 1 og 99999999 år";
error1 = error1 + " Varenummeret skal være mellem 1 og 99999999 år";
return error;


}
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<title>Indtastningsformular</title>
<body>
<%
if (request.getMethod().equals("POST")) { // brugeren har tastet på submit

String receptnr = request.getParameter("receptnr");
String error = validate(receptnr);
String varenr = request.getParameter("varenr");
String error1 = validate(varenr);

if (error.equals(""))
{
System.out.print(receptnr);
response.sendRedirect("VisOKData.jsp?receptnr_resultat="+receptnr);


}
else

response.sendRedirect("VisError.jsp?error_resultat="+error);
/*
if(error1.equals("")){
System.out.print(varenr);
response.sendRedirect("VisOKData.jsp?varenr_resultat="+varenr);

}
else
response.sendRedirect("VisError.jsp?error_resultat="+error);
*/
}
%>
<form method="POST" action="InputForm.jsp">
Receptnr:
<input type="text" name="receptnr" value="Indtast dit receptnr her">
<br />
Varenr:
<input type="text" name="varenr" value="Indtast dit varenr her">
<br />
<input type="submit" value="OK">
</form>

我想做的是给公式一些条件,然后将页面重定向到错误消息或正常消息

最佳答案

这很简单,因为您将页面重定向两次。

如果您的第一个 (if) 条件为 true 或 false,则该页面已重定向到其他页面。

之后它将如何再次重定向。

所以解决方案是将两个条件转换为一个。像这样:-

 if (error.equals(""))
{
System.out.print(receptnr);
if(error1.equals(""))
{
System.out.print(varenr);
response.sendRedirect("VisOKData.jsp?varenr_resultat="+varenr);
}
else
{
response.sendRedirect("VisError.jsp?error_resultat="+error);
}
}
else
{
response.sendRedirect("VisError.jsp?error_resultat="+error);
}

关于java - sendRedirect() 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23009268/

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