在jsp中有没有其他方法可以将字符串值转换为整数值?我正在 jsp 中尝试一个基本程序

Is there any other way to convert string value into integer value in jsp? I am trying a basic program in jsp

index.html

<html>
<head>
<title>AddModule | Home page</title>
<link rel="stylesheet" 
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" 
integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" 
crossorigin="anonymous">
</head>
<body>
<div class="container">
   <div class="row">
   <div class="col-md-6 offset-md-3">
   <form action="op.jsp">
   <div class="card">
   <div class="card-header bg-dark text-white">
   <h3>Provide me a number</h3>
   </div>
   <div class="card-body">
   <div class="form-group">
   <input name="n1" type="number" class="form-control" placeholder="Enter n1">
   </div>
   <div class=form-group>
   <input name="n2" type="number" class="form-control" placeholder="Enter n2">
   </div>
   </div>
    <div class="card-footer text-center">
    <button type="submit" class="btn btn-primary">Divide</button>
   </div>
   
   </div>
   </div>
   </form>
   </div>
   </div>
   </body>
   </html>

Getting an exception in op.jsp named java.lang.NumberFormatException

HTTP 状态 500-内部服务器错误

op.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<html>
<head>
<title>Jsp Page</title>
</head>
<body>
<%
String n1= request.getParameter("n1");
String n2= request.getParameter("n2");
int a=Integer.parseInt(n1);
int b=Integer.parseInt(n2);
int c=a/b;
%>
<h3>Result is <%=c %></h3>
</body>
</html>

将值从字符串转换为整数时生成异常

也试过下面的代码,但还是不行

<%int n1=Integer.parseInt(request.getParameter("n1"));
int n2=Integer.parseInt(request.getParameter("n1"));
int c=n1/n2 %>
<%
String n1 = request.getParameter("n1");
String n2 = request.getParameter("n2");
int n1Val,n2Val;
if(n1 != null){
n1Val=Integer.parseInt(n1);
}
if(n2!=null){
n2Val=Integer.parseInt(n2);
}int c;
if(n1 != null && n2!=null)c=n1Val + n2val;
%>

问题不在于您的代码,而在于您如何 运行 它。

您需要先访问 index.html 才能输入数字,然后点击 Divide。这将以 n1n2 作为参数调用 op.jsp

如果您尝试直接访问 op.jsp,您的代码将 运行 没有 n1n2 的值。如果您没有输入,那么尝试将输入解析为整数显然会失败。

如果想简化测试,可以在URL中使用op.jsp?n1=42&n2=7

手动指定HTTP GET查询参数