Java Server Page 表达式标签给我一个错误

问题描述 投票:0回答:1

我是第一次编写JSP 代码。 当我声明一个表达式语句时,它给了我一个errorsum 无法解析为变量

这是我的代码供您参考

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1" import="java.util.Date,java.util.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
    <%! 
        public int factorial(int n){
            int ans=1;
            for(int i=1; i<=n; i++){
                ans=ans*i;
            }
            return ans;
    }
    %>
    
    <%@include file="header.html" %>
    <%
        String op = request.getParameter("btn");
        int n1 = Integer.parseInt(request.getParameter("num1"));
        int n2 = Integer.parseInt(request.getParameter("num2"));
        if(op.equals("add")){
            int sum=n1+n2;
        }else{
               
               int sum=factorial(n1);
           }
        
         Date dt=new Date();
           out.println("testing jsp");
    %>
    
    <h2> Addition is: <%=sum %> </h2>
    
    
    <h4>Today's Date : <%=dt %></h4>
    <%@include file="footer.html" %>
</body>
</html>

错误出现在加法=求和行中。

servlets jsp-tags servlet-3.0
1个回答
0
投票

打印不可用的变量。您可以在计算后立即将变量的输出放置在变量尚存在的位置。

<%
        String op = request.getParameter("btn");
        int n1 = Integer.parseInt(request.getParameter("num1"));
        int n2 = Integer.parseInt(request.getParameter("num2"));
        if(op.equals("add")){
            int sum=n1+n2;%>
<h2> Addition is: <%=sum %> </h2>
© www.soinside.com 2019 - 2024. All rights reserved.