gpt4 book ai didi

java - 无法从 JSP 中的 bean 内部获取列表

转载 作者:行者123 更新时间:2023-12-01 13:46:48 24 4
gpt4 key购买 nike

我正在尝试在 jsp 上创建打印字符串列表,其中包含存储在 session 中的名为 copa 的 bean 中的信息。

<jsp:useBean id="copa" class="Beans.CopaBean" scope="session"/>

<c:forEach var="item" items="${copa.mSelecciones}">
${item.mNombre}
</c:forEach>

我的对象copa,实现了java.io.Serialized。它里面有一个也实现这个接口(interface)的对象列表。我还可以看到 Copa 对象填充在 NetBeans 的变量选项卡中,以及 mSelecciones 的集合以及内部数据..

我已经尝试了一切......从公开属性 mSelecciones 到将名称更改为更短,到调用 get 方法 getmSelecciones() 等,但我无法让我的代码打印任何文本在 html 上。

有什么帮助吗?

这是我运行代码时 HTML 中的打印输出,正如您所看到的,我有两个对象坐在那里......只是无法迭代它们。

 <c:forEach var="a" items="[Beans.SeleccionBean@7022efdf, Beans.SeleccionBean@5b252fd]">

</c:forEach>

这是我的 CopaBean 类结构:

    public class CopaBean implements java.io.Serializable {

public List<SeleccionBean> mSelecciones = null;


public List<SeleccionBean> getmSelecciones() throws SQLException {
}
}

这是我的 SeleccionesBean 类结构:

    public class SeleccionBean  implements java.io.Serializable{
private String mNombre;
public String getmNombre() {
return mNombre;
}
}

最佳答案

您正在使用 JSTL,因此您必须对打算与 JSTL 一起使用的所有方法使用 JavaBean 命名约定

例如,语句<c:forEach var="item" items="${copa.mSelecciones} ,失败,因为 java 应用程序服务器正在尝试解析方法 CopaBean.getMSelecciones()并且找不到它。请注意 M是大写的。另请注意 m在你的方法中不是!

为了让应用服务器解析该方法,您必须确保其名称遵循 JavaBean 命名约定。例如getter 和 setter 的格式必须为 getSomeMethod , setSomeMethod , 分别。请注意,get/set 后面的第一个字母是大写的。

要修复代码,请更改

public List<SeleccionBean> getmSelecciones() throws SQLException {

public List<SeleccionBean> getMSelecciones() throws SQLException {

您也有同样的问题SeleccionBean.getmNombre() 。将其更改为 SeleccionBean.getMNombre() .

关于java - 无法从 JSP 中的 bean 内部获取列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20307972/

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