Нулевой вывод на странице JSP из класса Java - PullRequest
0 голосов
/ 24 марта 2011

Я получаю нулевой вывод для 3 переменных на моей странице JSP. Это мои файлы:

index.jsp

    <jsp:useBean id="user" scope="session" class="user.CompileClass" />
<jsp:setProperty property="*" name="user"/>
<HTML>
<BODY>
<FORM METHOD=POST ACTION="Result.jsp">
What's your name? <INPUT TYPE=TEXT NAME=uname SIZE=20><BR>
What's your e-mail address? <INPUT TYPE=TEXT NAME=mail SIZE=20><BR>
What's your age? <INPUT TYPE=TEXT NAME=age SIZE=4>
<P><INPUT TYPE=SUBMIT>
</FORM>
</BODY>
</HTML>

CompileClass.java

    package user;

public class CompileClass {
    public String uname;
    public String mail;
    public int age;


    public CompileClass(){
    }



    public void setUname( String name ) {
        uname = name;
    }
    public void setMail( String name ) {
        mail = name;
    }
    public void setAge( int num ) {
        age = num;
    }

     public String getUname() { 
        return uname;
    }

     public String getMail() { 
         return mail;
     }

     public int getAge() { 
         return age;
     }
/*public void main()
{


}*/
}

Result.jsp

    <jsp:useBean id="user" scope="session" class="user.CompileClass" />

<html>

  <body>
   You entered:<BR>

Name: <%= user.getUname()  %><br/>
Email: <%= user.getMail() %><BR>
Age: <%= user.getAge() %><BR>
  </body>
</html>

Проект, содержащий эти файлы в Eclipse, успешно компилируется и выполняется, но когда я даю какие-либо данные для Имя * Электронная почта * и Возраст , вывод 1025 * нуль *

Любая помощь?

1 Ответ

1 голос
/ 24 марта 2011

Вам необходимо установить свойства bean-компонента во время отображения страницы результатов, а не во время отображения начальной страницы (просто потому, что тогда ничего не отправлено). Move

<jsp:setProperty property="*" name="user"/>

от index.jsp до result.jsp. На самом деле, все <jsp:useBean> на index.jsp также бессмысленно, вы его нигде не используете. Вы можете просто удалить эту строку из index.jsp.

Вам также нужно заменить эти старомодные скриптлеты на EL, чтобы они отображали реальные свойства bean.

Name: ${user.uname}<br/>
Email: ${user.mail}<br/>
Age: ${user.age}<br/>
...