2010-03-24 5 views
0

Comment utiliser bean dans JSP avec seulement <jsp:useBean>, pas MVC?Comment utiliser le bean dans JSP?

Supposons que vous avez un fichier grade.txt qui contient les données suivantes:

 
Tom 90 
Jerry 70 
Katy 80 
John 60 

Il vous demande de créer un haricot nommé grade.java, une page JSP nommée graderesult.jsp, et une page html nommé gradecheck.html.

gradecheck.html fournit une zone de texte d'entrée et un bouton soumettre, une fois que vous soumettez le nom de l'étudiant, le graderesult.jsp communiquera avec le bean pour montrer le nom et le score correspondant à la personne.

+0

Bonjour Nick. Bienvenue. Je suggérerais de reformuler votre question en une question réelle. Qu'est-ce qui te dérange? Si vous voulez juste que quelqu'un écrive tout le code pour vous, vous n'irez pas très loin. – Dan

Répondre

2

Vous pouvez utiliser <jsp:setProperty name="beanname" property="*" /> pour définir "automatiquement" tous les paramètres de la requête en tant que propriétés du bean correspondant au nom de la propriété. Comme il est une question typique de devoirs, je ne vais pas donner des exemples de code complet, mais seulement des notes:

  1. Créer un haricot Grade avec une propriété name.
  2. Ajoutez un constructeur qui charge les données du fichier texte dans une propriété Map<String, Integer> représentant des paires nom-score. En savoir plus sur Java IO here et sur les cartes Java here.
  3. Ajoutez un getter "spécial" getScore() qui renvoie le score du Map en utilisant la clé name.
  4. Créez un formulaire avec <input type="text" name="name"> dans le gradecheck.html. Laissez le formulaire soumettre à graderesult.jsp. La méthode de requête n'a pas d'importance, je préférerais cependant POST.
  5. Dans graderesult.jsp, utilisez <jsp:useBean> pour déclarer et instancier le bean dans le champ request et utilisez <jsp:setProperty> pour définir "automatiquement" toutes les valeurs d'entrée dans le bean.
  6. Utilisez EL pour afficher le nom par ${grade.name} et le score associé par ${grade.score}.

Bonne chance.

Questions connexes