我想在使用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(),并且解析器似乎无法理解该字段是小写还是大写。

10-06 05:50