javax.el.PropertyNotFoundException: la Propriété 'tname' ne trouve pas sur le type java.lang.Chaîne
J'ai été en utilisant les scriptlets plus tôt, mais maintenant je suis passé à la mvc. Je ne suis pas en mesure de récupérer les valeurs sur la page JSP et les erreurs:
javax.el.PropertyNotFoundException: Property 'tname' not found on type java.lang.String
Code de la Fève:
public class regForm extends org.apache.struts.validator.ValidatorForm implements Iprafunctions {
private String tname = null;
private String tfee = null;
public String getTfee() {
return tfee;
}
public void setTfee(String tfee) {
this.tfee = tfee;
}
public String getTname() {
return tname;
}
public void setTname(String tname) {
this.tname = tname;
}
public regForm() {
super();
}
}
Contrôleur d'Action:
public ActionForward mvc(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
regForm reg = (regForm) form;
String sql = "Select tname,tfee from addtest order by tname";
ResultSet rs = SQLC.getData(sql, null);
Collection myBeans = new ArrayList();
while (rs.next()) {
String testname = rs.getString("tname");
String testfee = rs.getString("tfee");
reg.setTname(testname);
reg.setTfee(testfee);
myBeans.add(reg.getTname());
myBeans.add(reg.getTfee());
}
request.setAttribute("myBeans", myBeans);
return mapping.findForward(SUCCESS);
}
D'accès dans la Page JSP
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<table>
<tr><td>Name</td><td>Fee</td></tr>
<c:forEach var="reg" items="${myBeans}">
<tr>
<td><c:out value="${reg.tname}"></c:out></td>
<td><c:out value="${reg.tfee}"></c:out></td>
</tr>
</c:forEach>
</table>
- j'ai une petite question, je n'ai pas travaillé avec struts, mais vous n'êtes pas d'ajouter l'attribut de la réponse. j'ai vu que vous l'ajoutez à la demande.
- non, les attributs sont définis à la demande de communication interne et ensuite demande est simplement transmis
- merci @JigarJoshi pour que..
- parce que nous sommes l'envoi de la demande et le réglage de la valeur de l'attribut, puis nous aurons la réponse
Vous devez vous connecter pour publier un commentaire.
Je pense que vous êtes d'ajouter les noms et les frais directement à la liste de tableaux, mais vous devriez être en ajoutant l'ensemble de la
regForm
objet dans la liste de tableaux.Au lieu de le code ci-dessous
que vous devez faire comme
en outre à ne pas utiliser le même objet que vous avez obtenu à partir de la forme. Essayez de créer de nouveaux objets et les ajouter dans la liste de tableaux et d'essayer d'utiliser des génériques.
EDIT:
Fait de l'ajout des cordes dans votre
Collection
et que vous essayez d'invoquergetTName()
par${reg.tname}
Soit ajouter des grains entiers à votre collection ou tout simplement remplacer JSTL avec
${reg}
${reg}
ou si vous ajoutez des fèves de collection, alors ne pas changer la JSP trucs