L'accès à une valeur dans Struts ActionForm de JSP

Je suis un Struts 1.3.10 débutant et j'ai un problème lorsque j'ai un Action appelé RegistrationAction comme suit:

    public final class RegistrationAction extends Action{

        @Override
        public ActionForward execute(ActionMapping mapping,
                                     ActionForm form,
                                     HttpServletRequest request,
                                     HttpServletResponse response)
        throws Exception{

           RegistrationForm formBean = (RegistrationForm) form;
           String userid = formBean.getUserid();
           String pwd = formBean.getPassword();

Le nom d'utilisateur et mot de passe sont alors enregistrées dans un HashMap<String, String> avec des attributs _userid et pwd.

RegistrationAction appelle ensuite une JSP si la validation de la userid et password sont couronnées de succès. Mais ce que je viens de trouver, c'est que dans la page JSP, le nom d'utilisateur n'est pas affichée à l'aide du code suivant:

    <h1>Hello  <bean:write name="RegistrationForm" property="_userid" />!</h1>

La correspondance ActionForm RegistrationForm contient les _userid champ ci-dessous:

    public final class RegistrationForm extends ActionForm{

        private String _userid = null;

        public String getUserid(){ return _userid; }
        public void   setUserid(String userid){ _userid = userid; }

        ...

Je sais qu'une instance de RegistrationForm est remplie parce que je peux récupérer l'entrée _userid via:

    if(err == RegistrationModel.OK){
            System.out.println("Here " + model.getUserid()); 

J'ai pensé qu'une référence à la RegistrationForm dans la page JSP tels que:

<h1>Hello <bean:write name="RegistrationForm" property="_userid" />!</h1>

Serait de travailler.

Quelqu'un peut-il suggérer où je me trompe?

Merci pour les répondants. La page fonctionne maintenant.

_userid est terriblement un haineux nom d'une propriété qui ne confirme pas les conventions de nommage Java. Vous ne devriez pas l'utiliser plus.
D'accord. _userid est simplement un nom utilisé dans les Entretoises exemple, j'ai été suivant, qui n'a jamais fonctionné correctement de toute façon jusqu'à ce que cette question a été posté, et un autre hier. Maintenant que j'ai l'exemple de travail, je vais changer le nom de userName ou quelque chose du genre.

OriginalL'auteur Mr Morgan | 2012-11-25