Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Tapestry错误:不包含自动生成所需的公共构造函数_Java_Database_Interface_Tapestry - Fatal编程技术网

Java Tapestry错误:不包含自动生成所需的公共构造函数

Java Tapestry错误:不包含自动生成所需的公共构造函数,java,database,interface,tapestry,Java,Database,Interface,Tapestry,我在通过列表显示Mysql数据库中的一些评论时遇到问题 错误: SetupRender[Details:grid]中的渲染队列错误:读取组件详细信息的参数“source”失败:grid:Class com.mycompany.licenta.data.interfataRecenenzii不包含自动生成所需的公共构造函数 有谁能帮我说说这有什么不对吗? 我希望这是可以理解的。 我的项目中还有另一个界面,用于显示数据库中的其他内容,所有内容都在同一个包中/但即使我将其放在其他包中,错误仍然是一样的

我在通过列表显示Mysql数据库中的一些评论时遇到问题 错误: SetupRender[Details:grid]中的渲染队列错误:读取组件详细信息的参数“source”失败:grid:Class com.mycompany.licenta.data.interfataRecenenzii不包含自动生成所需的公共构造函数

有谁能帮我说说这有什么不对吗? 我希望这是可以理解的。 我的项目中还有另一个界面,用于显示数据库中的其他内容,所有内容都在同一个包中/但即使我将其放在其他包中,错误仍然是一样的。可以吗

我的列表类代码为:

我的界面:

我将在其中显示包含评论的列表的page类:

将在其中显示的tml页面组件

@SessionState
private InterfataRecenzii dataSources;
您无法@SessionState接口,因为tapestry在从会话读取字段时不知道要实例化哪个实现类。 尝试替换:

@SessionState
private ListaRecenzii dataSources;
与:

此外,您还可以避免在Details.java中编写getRecenzi和setRecenziRecenzii的样板,只需将@Property添加到Recenzii字段,.tml就可以访问它

 package com.mycompany.licenta.pages;

import com.mycompany.licenta.data.IDataSource;
import com.mycompany.licenta.data.Hotel;
import com.mycompany.licenta.data.Hotel;
import com.mycompany.licenta.data.IDataSource;
import com.mycompany.licenta.datarecenzii.InterfataRecenzii;
import org.apache.tapestry5.annotations.Persist;
import org.apache.tapestry5.annotations.SessionState;
import com.mycompany.licenta.datarecenzii.Recenzie;
import java.util.List;

public class Details {
    @SessionState
    private IDataSource dataSource;
    private Hotel hotel;


    @SessionState
    private InterfataRecenzii dataSources;
    private Recenzie recenzie;

public void setHotel(Hotel c)
{
this.hotel = c;
}
public Hotel getHotel()
{
return hotel;
}
void onActivate(long id)
{
hotel = dataSource.getHotelById(id);
}


public List<Recenzie> getAllRecenzii()
{
    return dataSources.getAllRecenzii();
}


public Recenzie getRecenzie()
{
return recenzie;
} 
public void setRecenzie(Recenzie recenzie)
{
this.recenzie = recenzie;
}
}
<t:grid t:source="allRecenzii" rowsPerPage="2" row="recenzie">
    </t:grid>
@SessionState
private InterfataRecenzii dataSources;
@SessionState
private ListaRecenzii dataSources;