想要if else判断s3是否>=0跳转到postive.jsp或者negative.jsp 下边代码哪里错了
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
if(s3>0){
response.sendRedirect("postive.jsp");
}else{
response.sendRedirect("negative.jsp");
}
%>
这是sum.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
这是input.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<title>My JSP 'postive.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
这是postive.jsp
楼主你的这个问题其实很简单,应该是你刚开始学jsp的原因。
input.jsp中有一个form,两个input的name分别为shuju1,shuju1
这个form的action为sum.jsp
sum中应该写
String str1=request.getParameter("shuju1");
String str2=request.getParameter("shuju2");
double s1=Double.parseDouble(str1);
double s2=Double.parseDouble(str2);
double s3=s1+s2;
session.setAttribute("st1",s1);
session.setAttribute("st2",s2);
session.setAttribute("st3",s3);
if(s3>0){
response.sendRedirect("postive.jsp");
}else{
response.sendRedirect("negative.jsp");
}
postive.jsp里面再取session里的值就是了啊
Double a1=(Double)session.getAttribute("st1");
Double a2=(Double)session.getAttribute("st2");
Double a3=(Double)session.getAttribute("st3");
HTTP Status 500 - An exception occurred processing JSP page /sum.jsp at line 30
type Exception report
message An exception occurred processing JSP page /sum.jsp at line 30
description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /sum.jsp at line 30
27: //double s1=Double.parseDouble(str1);
28: //double s2=Double.parseDouble(str2);
29: //double s3=s1+s2;
30: double s1=Double.parseDouble(str1);
31: double s2=Double.parseDouble(str2);
32: double s3=s1+s2;
33: session.setAttribute("str1","s1");
这是错误提示
是不是没有先获取session的原因
"shuju1","shuju1"有设值吗
session里的"shuju1","shuju2",只看到你get了,没看到你啥时候set的,直接parseDouble不就NullPointerException了
在input.jsp
中,通过Java代码把输入的值存储到session中去(session.setAttribute()),由于session的作用域比较广,所以能在sum.jsp通过getAttribute方法得到。
你set属性的时候不需要加双引号吧,session.setAttribute("str1",s1);就是后面的这个不需要吧!
多看看jsp这方面的知识。。。。。。。。。。