在jsp中映射对象列表

时间:2014-08-11 08:05:56

标签: hibernate jsp struts2

用于映射迭代器标记中对象列表的Jsp页面代码,我想要' que'并且' optns'属性形成此对象列表

<s:iterator value="objects" >
<s:property value="%{#playerPredictionLevel2.que}"/>

    <s:property value="que"/>

    <s:property value="#playerpredictionoptionlevel2ID.optns"/>
</s:iterator>

从数据库获取值的java代码

List<Object[]> objects=null;

    public String indexView() {

        objects = getDaoFactory().getPlayerPredictionLevel2Dao()
                .findByTName();

        return SUCCESS;
    }

Hibernate查询获取数据但它们之间没有任何关系,所以我为它创建了对象列表

public List<Object[]> findByTName() {
        List<Object[]> list = null;
        list = getSession()
                .createQuery(
                        "From PlayerPredictionLevel2 as pp,PlayerPredictionOptionLevel2 as po where pp.optionRefNo = po.playerPredictionLevel2Id  ")
                .list();

        return list;
    }

2 个答案:

答案 0 :(得分:0)

创建对象时未指定ArrayList()。 试试这个,

    List<Object[]> objects=new ArrayList<Object[]>();
    List<Object[]> list = new ArrayList<Object[]>();

答案 1 :(得分:0)

只需检查您的操作类是否有正确的字段对象的getter setter,如下所示

public List<Object[]> getObjects() {
    return objects;
}
public void setObjects(List<Object[]> objects) {
    this.objects = objects;
} 

在JSP中按以下方式迭代您的列表

<s:iterator value="objects" status="status">
        <s:property value="que"/>
</s:iterator>

OR

<s:iterator value="objects" status="status">
        <s:property value="%{#status.que}"/>
</s:iterator>

this is the object data view while retrieve data using query