フレームワーク2の開発を再生する(2)

これは説明のない単なるメモです。

 

Eclipseプロジェクト構造に変換した後

最初の手順を開始し、登録します

1.models.formsの下に新しいフォームクラスを作成します

 

package models.forms;

public class User {

public int id;
public String name;
}

クラスの属性はパブリックタイプである必要があります

 

2.次に、views.userの下に新しいform.scala.htmlページを作成します

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
   <form action="/register" method="post">
     ID:<input type="text" id="id" name="id"/>
     Name:<input type="text" id="name" name="name"/>
     <input type="submit" value="submit"/>
   </form>
</body>
</html>


html名はXXX.scala.html形式です

3.コントローラーの下に新しいクラスUserControl.javaを作成します

package controllers;

import static play.data.Form.form;
import models.forms.User;
import play.data.Form;
import play.mvc.Controller;
import play.mvc.Result;
import views.html.user.*;

public class UserControl extends Controller {

     final static Form<User> userForm = form(User.class);
     public static Result register() {

         return ok(form.render());
        }
     public static Result submit() {
         
        
         User user = userForm.bindFromRequest().get();
         

         return ok("ID:"+user.id+"\n"+
            "name:"+user.name);
        }
}


Eclipseで編集すると、赤い波線が表示されます。ビューの下に書き込んだhtmlはクラスファイルにコンパイルされないため、問題ありません最終実行はコンパイルされます。次に、プロジェクトを更新します



4. conf \ routesファイルを開きます

参加する

GET / register controllers.UserControl.register()
POST / register controllers.UserControl.submit()

5. Cmdはプロジェクトパスにあり、playrunと入力するだけです。

http:// localhost:9000 / register

 

追加:

1.フォームクラスを作成したくない場合

 public static Result submit(){    DynamicForm requestData = form()。bindFromRequest();       文字列id = requestData.get( "id");       文字列名= requestData.get( "name");
  
  


      return ok( "ID:" + id + "\ n" +
         "name:" + name);
     }

 2.別のページに表示したい場合

views.userの下にresult.scala.htmlという名前の新しいものを作成します

@(user:forms.User)
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>Result</h1>
ID:@user.id
<br/>
Name:@user.name
</body>
</html>

@(user:forms.User)は入力パラメーターです


UserControlの送信メソッドを変更します

public static Result submit() {
		 
		
		 User user = userForm.bindFromRequest().get();
		 

	     return ok(views.html.user.result.render(user));
	    }


 

おすすめ

転載: blog.csdn.net/penkee/article/details/8746304