hoe kan ik gegevens ophalen die door berichten zijn doorgegeven in java play

dit is mijn code waar ik gegevens moet ophalen die in POST zijn verzonden:

@play.db.jpa.Transactional
public static Result registered(String fullname, String email, String password, String username) {
    if(fullname.isEmpty()){
        return badRequest("

fehlerhafte eingabe!

").as("text/html"); } else { User user = new User(); user.fullname = fullname; user.email = email; user.password = password; user.username = username; user.save(); } String success = "Successful registered!"; return ok(register.render(success)); }

en dit is mijn gebruikersklasse:

public class User extends Model {
private static final long serialVersionUID = 1L;
public String fullname;
@Email
public String email;
@Required(message="Username erforderlich!")
public String username;
@Transient @Required
public String password;

public User(){}

public User(String username, String password, String fullname, String email) {
    this.username = username;
    this.password = password;
    this.email = email;
    this.fullname = fullname;
    }

en dit is mijn html:

    <form method="post" action="@routes.Application.registered()">
            

@success

fullname: <input type="text" name="fullname" id="fullname" value=""/> email: <input type="text" name="email" id="email" value=""/> username: <input type="text" name="username" id="username" value=""/> password: <input type="password" name="password" id="password" value=""/> <button type="submit">Register</button> </form>

en dit zit in mijn routes:

POST     /registered                controllers.Application.registered()   

Wat is WSRequest? kan dit de aanwijzing zijn voor mijn probleem?

ik waardeer alle hulp! bedankt bedankt

2

2 antwoord

Voor uw "geregistreerde" actie is geen parameter nodig.

Deze parameters worden verstrekt in het verzoek en u krijgt ze met behulp van de ingebouwde formulierbinding :

public static Result registered(String fullname, String email, String password, String   username) {

    User user =  form(User.class).bindFromRequest().get();
    ....
}
2
toegevoegd
ja maar als ik dit leuk vind, krijg ik deze foutmelding: ValidationException: Call to TraversableResolver.isReachable() gooide een uitzondering waarom is dit?
toegevoegd de auteur doniyor, de bron
waarom moet ik de gegevens telkens verbinden aan het klassenveld? waarom dit soort dingen niet werken: request.get.POST ('name');
toegevoegd de auteur doniyor, de bron
toegevoegd de auteur nico_ekito, de bron

U moet de klassencode van de controller controleren. U moet alle veldnamen als parameter hebben in de methode genaamd controller. Dan kunt u deze in uw toepassing gebruiken.

0
toegevoegd
ja, maar het probleem is hoe je de gegevens kunt ophalen die per post zijn verzonden. het maakt niet uit waar de methode is, ik moet die doorgegeven waarden opvangen.
toegevoegd de auteur doniyor, de bron
oh nu begrijp ik wat je bedoelde. bedankt!
toegevoegd de auteur doniyor, de bron
sorry voor het dumpen van vraag, maar moet ik dit altijd doen en waarom kan ik niet alleen de gegevens doorgegeven krijgen op formulier zonder het te binden aan een klassenveld?
toegevoegd de auteur doniyor, de bron