Bean setProperty - PullRequest
       5

Bean setProperty

0 голосов
/ 09 февраля 2011

Привет всем :) Я неправильно понял в setPropety в использовании Бина? когда я делаю так

 <jsp:setProperty name="myBean" property="*">

Я должен сделать имена полей формы такими же, как имена атрибутов в myBean для того, чтобы сделать соответствие между значениями HTTPRequest и атрибутами myBean, если я использую другие имена в полях формы, значения достигают нулевых значений. но если я когда-нибудь захочу использовать значения формы на той же странице jsp и определить Bean, который содержит значения формы, то не имеет смысла, если я использую другие имена в полях формы, а не то же имя атрибутов bean !! почему это?

смотрите здесь, имя поля пароля - "пароль", а имя атрибута myBean - pass, и даже то, что оно работает!

//index.jsp page
<form method="post" action="index.jsp">
        Enter Your email:<input type="text" name="email"/>
        <br/>
        Enter Your Password :<input type="password" name ="pass">
         <br/>
        <input type="submit" name ="submit"/>
    </form>

    <jsp:useBean id="info" class="beans.info" scope="page">
        <jsp:setProperty name="info" property="*"/>
    </jsp:useBean>
        Your email is : <jsp:getProperty name="info" property="email"/>
          <br/>
         Your Pass is : <jsp:getProperty name="info" property="pass"/>
</body>

Может кто-нибудь сказать мне, что случилось?

Редактировать: Я делаю изменения в коде.

Ответы [ 2 ]

1 голос
/ 09 февраля 2011
<input type="password" name ="pass">

Имя вашего поля пароля равно также pass.

Другая причина может заключаться в том, что вы не запускаете код, который считаете нужнымты бежишь.Обратите внимание, что имя компонента infoo неверно.

0 голосов
/ 05 июня 2012

Я столкнулся с той же проблемой, что и вы, и я только что сделал этот пример, и он работает!

HTML-страница

<form name="registrationForm" id="registrationForm" method="post" action="registerBean.jsp" >
Full Name:* 
<input type="text" name="fullname" id="fullname"/> 
  </form>

registerBean.jsp

<jsp:useBean id="userBean" scope="session" class="Code.UserBean" />
<jsp:setProperty name="userBean" property="fullName" param="fullname" />

Сосредоточьтесь на (param="") атрибуте, потому что именно он сопоставит имя поля формы html с одной стороны и javabean с другой.


UserBean.java

    public class UserBean
    {
        private String fullName;
 /**
     * @return the fullName
     */
    public String getFullName()
    {
        return fullName;
    }

    /**
     * @param fullName the fullName to set
     */
    public void setFullName(String fullName)
    {
        this.fullName = fullName;
    }
}

...