gpt4 book ai didi

java继承和JSTL

转载 作者:太空宇宙 更新时间:2023-11-04 08:47:48 25 4
gpt4 key购买 nike

我想使用 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}

错误信息:

message: The class 'package.ELigneDeclaration ' does not have the property 'sLibelle'.

但是在 scriptlet 中它工作正常 <%=ligneDecla.getLigneDecla().getSLibelle()%>返回正确的值。这是jSTL的限制吗?是否有另一种方法可以使用此标签库访问我的属性?该项目不使用演示框架,jSTL 似乎是我唯一可以使用的标记库。

最佳答案

这可能是因为开头只有一个字母。尝试将其称为 ${A.SLibelle}。 (即两个字母均为大写)。

对于 EL 来说这是一个特殊情况,因为您的 getter 是 getSLibelle(),并且解析器似乎无法理解该字段是小写还是大写。

关于java继承和JSTL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3978096/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com