我试图在服务器端执行一个函数来打印pdf文件中的所有用户,但是我收到了这个错误。 有人可以帮帮我吗? 这是代码:
public void printAllUsers(HttpServletResponse resp) throws
ServletException, IOException, URISyntaxException, DRException {
final List<UserDTO> page =
userService.getAllManagedUsers();
JRBeanCollectionDataSource dataSource = new
JRBeanCollectionDataSource(page);
resp.setContentType("application/pdf");
OutputStream out = resp.getOutputStream();
StyleBuilder boldStyle = DynamicReports.stl.style().bold();
StyleBuilder boldCenteredStyle = DynamicReports.stl.style(boldStyle)
.setHorizontalAlignment(HorizontalAlignment.CENTER);
StyleBuilder columnTitleStyle =
DynamicReports.stl.style(boldCenteredStyle)
.setBorder(DynamicReports.stl.pen1Point())
.setBackgroundColor(Color.LIGHT_GRAY);
DynamicReports.report()
.setColumnTitleStyle(columnTitleStyle)
.highlightDetailEvenRows()
.columns(
Columns.column("Nom", "nom", DataTypes.stringType()),
Columns.column("Prenom", "prenom", DataTypes.stringType()),
Columns.column("Login", "email", DataTypes.stringType()),
Columns.column("Password", "password",
DataTypes.stringType()))
.title(
Components.text("List of Medecin")
.setHorizontalAlignment(HorizontalAlignment.CENTER))
.pageFooter(Components.pageXofY())
.setDataSource(dataSource)
.toPdf(out);
}
错误在这一行:
&#39;最终列表页面=
userService.getAllManagedUsers();&#39;
错误:(196,47)java:方法中的getAllManagedUsers方法 com.mycompany.myapp.service.UserService无法应用于给定 类型;必需:找到org.springframework.data.domain.Pageable: 没有参数的原因:实际和正式的参数列表不同 长度
答案 0 :(得分:1)
JHipster的userService.getAllManagedUsers接受一个参数,但是你在没有参数的情况下调用它。这是actual and formal argument lists differ in length
错误的含义。见下文:
public Page<UserDTO> getAllManagedUsers(Pageable pageable)
调用getAllManagedUsers时需要传递pageable
参数。一种方法是创建一个org.springframework.data.domain.PageRequest对象:public PageRequest(int page, int size)
。
请注意,该方法返回的是用户页面,而不是List。您需要在末尾添加.getContent()
以获取用户列表。它应该如下所示:
final List<UserDTO> allUsers = userService.getAllManagedUsers(new PageRequest(0, Integer.MAX_VALUE).getContent();