[JAVA] Spielen Sie Framework, um das Übergeben von Werten zu studieren, und bilden Sie einen Helfer

(Referenz) Bücher, die Sie studieren https://www.amazon.co.jp/Play-Framework-2%E5%BE%B9%E5%BA%95%E5%85%A5%E9%96%80-Java%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%ABWeb%E9%96%8B%E7%99%BA-%E6%B4%A5%E8%80%B6%E4%B9%83/dp/4798133922/ref=cm_cr_srp_d_product_top?ie=UTF8

So erhalten Sie einen Wert von der Steuerung

So übergeben Sie den Wert an die Klasse des Controller-Ordners → die Klasse des Ansichtsordners in der Abbildung unten.

スクリーンショット 2018-03-18 19.33.13.png

Verarbeitung auf der Seite des Ansichtsordners

@(one: String ,two :String, three:String)

Wie man Controller beschreibt

Beschreiben Sie den Wert, den Sie auf diese Weise übergeben möchten, in index.render.

  public static Result index() {
        return ok(index.render(
        "Probe 1",
        "Probe 2",
        "Probe 3"
        )
  }

So erstellen Sie ein Formular mit dem Formular-Helfer

Wie schreibe ich index.scala.html

@main("Stichprobe") {

    <h1>Hello!</h1>
    <p>@one</p>
    <p>@two</p>
    <p>@three</p>
    <p>Dies ist ein Beispiel</p>

    @helper.form(action=routes.Application.send){<!--①-->
    @(helper.inputText(<!--②-->
      field = form1("message")
    ))
    <input type="submit"><!--③-->
    }
}

Aktionsattribut: Geben Sie das Ziel der zu sendenden Daten an, indem Sie auf die Schaltfläche "Senden" des Formulars klicken. (Referenz) https://qiita.com/mikuhonda/items/f3126380d3340f3d8a2b Eingabeelement: Abhängig davon, welcher Wert für das Typattribut angegeben ist, können Sie den Typ der Formteile wie einzeiliges Textfeld, Kontrollkästchen, Optionsfeld, Senden-Schaltfläche, Zurücksetzen-Schaltfläche usw. angeben. (Referenz) http://www.htmq.com/html5/input.shtml

① Rufen Sie das Formularobjekt im Helfer auf. Die Aktion gibt normalerweise die Zieladresse an, bestimmt hier jedoch die zu sendende Methode. (2) Erstellen Sie ein Textfeld und speichern Sie den Wert in der Nachricht. ③ Erstellen Sie eine Senden-Schaltfläche

Wie man Controller beschreibt

Schreiben Sie so um

package controllers;

import play.*;
import play data.*;//PKG für die Verwendung von Formularhelfern
import static plya.data.Form.*;//PKG für die Verwendung von Formularhelfern
import play.mvc.*;

import views.html.*;

public class Application extends Controller {


    //Innere Klasse für Form
    public static class SampleForm{//Innere Klasse, eine Klasse zum Verwalten der Werte übermittelter Formulare
      public String message;//import type="text"Variable zum Speichern von Tag-Werten

    //Aktion beim Zugriff auf die Route
    public static Result index(){
      return ok(index.render("Schreibe etwas.",new Form(SampleForm.class)));
      //Erstellen Sie eine Formularinstanz, indem Sie die SampleForm-Klasse als Argument angeben
    }

    //Aktion beim Zugriff auf send
    public static Result send(){
      Form<SampleForm> f = form(SampleForm.class).bindFormRequest();
      if(!f.hasErrors()){
      }
      SampleForm date = f.get();
      String msg = "you typed:" + date.message;
      return ok(index.render(msg,f));
      }else {
      return badRequest(index.render)("ERROR",form(SampleForm.class)));
      }
    }
}

Verarbeitung der Sendemethode

    public static Result send(){
      Form<SampleForm> f = form(SampleForm.class).bindFormRequest();//①
      if(!f.hasErrors()){//②
      SampleForm date = f.get();//③
      String msg = "you typed:" + date.message;//④
      return ok(index.render(msg,f));
      }else {//Teilen Sie dem Client mit, dass ein Fehler aufgetreten ist
      return badRequest(index.render)("ERROR",form(SampleForm.class)));
      }
    }

Was ist verbindlich: Bild der Zuordnung (Referenz) http://wa3.i-3-i.info/word12448.html

(1) Der Typ von SampleForm ist generisch begrenzt. Geben Sie in bindFormRequest () den Wert des vom Client in der gebundenen Formularinstanz übermittelten Formulars zurück. Wenn Sie die Senden-Taste drücken → gehen Sie zur Root-Datei send → April send wird aufgerufen. ② Die Fehlerprüfung wird zuerst eingegeben (3) Durch Aufrufen von get of Form können Sie eine Instanz der Klasse (SampleForm-Klasse) abrufen, die Formularinformationen verwaltet. ④

Wie beschreibe ich die Route?

# Routes
# This file defines all application routes (Higher priority routes first)
# ~~~~

# Home page
GET     /                           controllers.Application.index()

# Map static resources from the /public folder to the /assets URL path
GET     /assets/*file               controllers.Assets.at(path="/public", file)

POST    /send                       controllers.Application.send()

Über den Unterschied zwischen POST und GET → POST wird beim Registrieren von Informationen auf dem Server verwendet. GET wird verwendet, um Informationen vom Server abzurufen. (Referenz) https://qiita.com/Sekky0905/items/dff3d0da059d6f5bfabf

Recommended Posts

Spielen Sie Framework, um das Übergeben von Werten zu studieren, und bilden Sie einen Helfer
Spielen Sie den Framework-Lerntest
Spielen Sie die Framework-Studie
Spielen Sie Framework2.5 (Java) -Tipps
spielen Framework persönliche Notizen
Die Bedeutung von th: field in Thymeleaf und der Mechanismus der Übergabe von Werten von Spring Framework