我想在使用jstl 1.2的jsp中访问我的java类之一继承的属性:
Java的:
public class LigneDeclarationBean {
private ELigneDeclaration ligneDecla;
private ETypeFormulaire typeForm;
...
public ELigneDeclaration getLigneDecla() {
return ligneDecla;
}
public class ELigneDeclaration extends ZELigneDeclaration implements Serializable {
...
}
public class ZELigneDeclaration implements Serializable {
private String sLibelle;
...
public String getSLibelle() {
return sLibelle;
}
}
JSP:
<%
List<LigneDeclarationBean> listelignes = (List) request.getAttribute("listeLignes");
// Affichage de la liste des ligneDeclas
for (int i = 0; i < listelignes.size(); i++) {
LigneDeclarationBean ligneDecla = listelignes.get(i);
%>
${ligneDecla.ligneDecla.sLibelle}
错误消息:
消息:类“ package.ELigneDeclaration”确实
没有属性“ sLibelle”。
但是在脚本中它可以正常工作
<%=ligneDecla.getLigneDecla().getSLibelle()%>
返回正确的值。这是jstl的限制吗?是否有另一种方法可以使用此taglib访问我的属性?该项目未使用展示框架,而jstl似乎是我可以使用的唯一taglib。
最佳答案
这可能是因为开头是单个字母。尝试将其称为${A.SLibelle}
。 (即两个字母均大写)。
EL的情况有点特殊,因为您的getter是getSLibelle()
,并且解析器似乎无法理解该字段是小写还是大写。