首页 > 解决方案 > 有没有其他方法可以在jsp中将字符串值转换为整数值?我正在尝试jsp中的基本程序

问题描述

索引.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>

在 op.jsp 中获取名为 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 %>

标签: javajspservlets

解决方案


<%
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;
%>

推荐阅读