jsp中为什么使用param会报错,是和forward一起使用的,如下图错误
value必须是个确定的值,不能夹代码
calculate.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>计算器</title>
<style>
#kuang{
height:20px;
width:170px;
border:1px solid #000000;
position: absolute;
top:53px;
left:400px;
border-radius:2px ;
}
</style>
</head>
<body>
<%
String number1str =request.getParameter("number1");
String number2str=request.getParameter("number2");
String operator=request.getParameter("operator");
String sum=request. getParameter("sum");
if(number1str==null || number2str==null || operator==null){
number1str="";
number2str="";
operator="+";
sum="";
}
%>
<h3>计算器</h3>
<form name = "form" action="docalculate.jsp" method="get" >
<input type="text" name="number1" value="<%=request.getParameter("number1")%>">
<select name="operator">
<option value="+">+</option>
<option value="-">-</option>
<option value="×">×</option>
<option value="÷">÷</option>
</select>
<input type="text" name="number2" value="<%=request.getParameter("number2")%>"> =
<div id="kuang">\
<%
request.getParameter("sum");
%>
</div>
<br/><br/>
<input type="submit" value="计算">
</form>
</body>
</html>
docalculate.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>Title</title>
</head>
<body>
<%
double sum=0.0;
String number1str=request.getParameter("number1");
String number2str=request.getParameter("number2");
String operator=request.getParameter("select");
if(number1str != null && number2str != null && operator != null){
double number1=Double.parseDouble(number1str);
double number2=Double.parseDouble(number2str);
if("+". equals(operator)){
sum=number1+number2;
out. print(sum);
}else if("-". equals(operator)) {
sum = number1 - number2;
out.print(sum);
}else if("*". equals(operator)){
sum=number1* number2;
out.print(sum);
}else if("/". equals(operator)){
sum=number1/number2;
out.print(sum);
}}
%>
<jsp:forward page="calculate.jsp">
<jsp: param name="number1" value="<%=number1str%>"/>
<jsp: param name="number2" value="<%=number2str%>"/>
<jsp: param name="sum" value="<%=sum%>"/>
</jsp:forward>
</body>
</html>