微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java.lang.NumberFormatException:对于jsp和tomcat为null

如何解决java.lang.NumberFormatException:对于jsp和tomcat为null

我正在尝试打开我的Battle.jsp,并且出现此错误

enter image description here

这是我的第一个jsp页面的一部分:

<link rel="stylesheet" href="firstPage.css">
<div class="container">
    
    <div class="header">
    <h1>RPG</h1>
    </div>
    

    <div class="left">
        <img src="images/hero.png" width="300" height="300" class="hero">
        <input type="number" class="heronumber" min="1" max="3" value="1" name="heroes"> 
    </div>


    
    <div class="middle">
        <p class="VS">VS.</p>
            <form action="battle.jsp" method="post" name="form1">
                <input type="submit" value="fight" class="submitfight">
            </form>
    </div>

    
    
    <div class="right2">
        <img src="images/wolf.png" width="152" height="150" class="wolf">
        <input type="number" class="wolfNumber" min="1" max="5" value="1" name="wolfs"> 
    </div>
    
    
    <div class="right2">
        <img src="images/orc.png" width="150" height="150" class="orc">
        <input type="number" class="orcNumber" min="1"max="3" value="1" name="orcs">
    </div>

这是第二个部分(为什么出现错误):

<%
int amountOrc = Integer.parseInt(request.getParameter("orcs"));
int amountWolf = Integer.parseInt(request.getParameter("wolfs"));
int amountHero = Integer.parseInt(request.getParameter("heroes"));

一切正常,但现在出现此错误

解决方法

您的数据必须通过<form>提交。 servlet不会接收在表单之外提交的所有数据。

因此您的代码应为:

<div class="container">
    <form action="/path" method="POST">
    <div class="header">
    <h1>RPG</h1>
    </div>
    

    <div class="left">
        <img src="images/hero.png" width="300" height="300" class="hero">
        <input type="number" class="heroNumber" min="1" max="3" value="1" name="heroes"> 
    </div>


    
    <div class="middle">
        <p class="VS">VS.</p>
            <form action="battle.jsp" method="post" name="form1">
                <input type="submit" value="Fight" class="submitFight">
            </form>
    </div>

    
    
    <div class="right2">
        <img src="images/wolf.png" width="152" height="150" class="wolf">
        <input type="number" class="wolfNumber" min="1" max="5" value="1" name="wolfs"> 
    </div>
    
    
    <div class="right2">
        <img src="images/orc.png" width="150" height="150" class="orc">
        <input type="number" class="orcNumber" min="1"max="3" value="1" name="orcs">
    </div>
</form>
</div>

此外,我建议不要使用此:

int amountOrc = Integer.parseInt(request.getParameter("orcs"));
int amountWolf = Integer.parseInt(request.getParameter("wolfs"));
int amountHero = Integer.parseInt(request.getParameter("heroes"));

但是使用这个:

String orcs = request.getParameter("orcs");
String wolfs = request.getParameter("wolfs");
String heroes = request.getParameter("heroes");
if(orcs!=null&&wolfs!=null&&heroes!=null){
    int amountOrc = Integer.parseInt(orcs);
    int amountWolf = Integer.parseInt(wolfs);
    int amountHero = Integer.parseInt(heroes);
}

无论如何要避免NullPointerExceptions或用户试图扔出一个。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。