2014-02-11 33 views
1

我是新玩家框架。如何解決Play框架中的空指針異常?

我正在使用兩種形式,即第一種形式,我給這兩個值,並將此值傳遞給下一個形式,在下一個形式中,我想添加這兩個數字。但我在下面的行中得到了空指針excote

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

請幫助我。提前致謝。

回答

1

這似乎相當自我解釋,data爲空,並且您試圖從中檢索值。所以,你需要找出爲什麼它是空的。

+0

如何檢索該值。請告訴我... – selvam

0
if(data.size>0) 
    return ok(
       sum_resul.render(data.First_No,data.Second_No)   //(sum was given form name) 
       );