(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 übergeben Sie den Wert an die Klasse des Controller-Ordners → die Klasse des Ansichtsordners in der Abbildung unten.
@(one: String ,two :String, three:String)
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"
)
}
@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
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)));
}
}
}
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. ④
# 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