java - 如何解决Play Framework中的空指针异常?

标签 java scala playframework nullpointerexception

我是游戏框架的新人。

我正在使用两种形式,即在第一种形式中,我给出两个值并将该值传递给下一个形式,在下一个形式中我想添加这两个数字。但我在下面的行中得到了空指针异常

addition data=addform.get();

        return ok(
                sum_resul.render(data.First_No,data.Second_No)           //(sum was given form name)
                );
        }

我该如何解决这个问题。

这是我的代码

路线

GET     /                           controllers.Application.index()


GET    /Sum_result                  controllers.Application.sumresult()


GET     /assets/*file               controllers.Assets.at(path="/public", file)

Application.java

package controllers;

 import play.mvc.*;
 import play.data.*;                                    
 import static play.data.Form.*;    
 import play.data.validation.Constraints.*;         
 import views.html.*;

 public class Application extends Controller {

public static class addition
{

    @Required @Min(1) @Max(100) 
    public Integer First_No;  

    @Required @Min(1) @Max(100) 
    public Integer Second_No;

}

public static Result index() {
    return ok(index.render(Form.form(addition.class)));
}


public static Result sumresult()
{

Form<addition> addform=form(addition.class).bindFromRequest();
    if(addform.hasErrors())
    {
        return badRequest(index.render(addform));
    }
    else
    {
        addition data=addform.get();

        return ok(
                sum_resul.render(data.First_No,data.Second_No)           
                );
        }


}



}

index.scala

@(additionForm: Form[Application.addition])  

@import helper._

@main(title="The 'addition' Program") {

<h1>Configure Your 'Numbers'</h1>

@form(action=routes.Application.sumresult,args='id ->"additionForm"){           
@inputText(
field=additionForm("First_No"),
args='_label -> "Enter First Number",'placeholder -> "0-100"
)

@inputText(
field=additionForm("Second_No"),
args='_label -> "Enter Second Number",'placeholder -> "0-100"
)

 <p class="buttons">
        <input type="submit">
    <p>


    }
}

sum_resul.scala

@(First_No: Int, Second_No: Int)

@main("Here is the result:") {

<h1>
Sum of @First_No and @Second_No was (First_No+Second_No)
</h1>

<p class="buttons">
    <a href="@routes.Application.index">Back to the form</a>
</p>
}

异常

enter image description here

请帮助我。提前致谢。

最佳答案

这似乎是不言自明的,data 为空,并且您正在尝试从中检索值。因此,您需要找出它为什么为空。

关于java - 如何解决Play Framework中的空指针异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21703836/

相关文章:

java - 如何将自定义指标添加到 Dropwizard/metrics

scala - 如何在 Eclipse 中添加 sbt 和 Play 2.0 可以看到的依赖项

java - 如何在 findElement(By.xpath ("//span[contains(text(),' string')]")) 中使用表达式

java - 使用 JPA/Hibernate 保持数据库连接

java - JNDI "Cannot instantiate class: org.jboss.naming.remote.client.InitialContextFactory"

java - Play Framework : Sending CSV file as an attachment

osgi - Play Framework 和 OSGI

scala - 异步断言未在 scalatest 中触发

scala - Scala案例类扩展了具有可序列化的产品

scala - 嵌套对象和成员变量的构造顺序