2017-03-21 4 views
0

Ich habe versucht, eine Funktion zum Drucken aller Benutzer in einer PDF-Datei auf der Serverseite, aber ich habe diesen Fehler. jemand könnte mir helfen? diese ist der Code:Java print pdf Fehler jhipster

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); 
     } 

Der Fehler in dieser Zeile ist: 'final Liste page =
userService.getAllManagedUsers();'

Error:(196, 47) java: method getAllManagedUsers in class com.mycompany.myapp.service.UserService cannot be applied to given types; required: org.springframework.data.domain.Pageable found: no arguments reason: actual and formal argument lists differ in length

Antwort

1

JHipsters userService.getAllManagedUsers nimmt ein Argument, aber Sie nennen es ohne das Argument. Der Fehler bedeutet actual and formal argument lists differ in length. Siehe unten:

public Page<UserDTO> getAllManagedUsers(Pageable pageable) 

Sie müssen das pageable Argument übergeben, wenn getAllManagedUsers Aufruf. Eine Möglichkeit besteht darin, ein org.springframework.data.domain.PageRequest-Objekt zu erstellen: public PageRequest(int page, int size).

Beachten Sie, dass diese Methode eine Seite von Benutzern zurückgibt, keine Liste. Sie müssen .getContent() an das Ende hinzufügen, um die Liste der Benutzer zu erhalten. Es sollte wie folgt aussehen:

final List<UserDTO> allUsers = userService.getAllManagedUsers(new PageRequest(0, Integer.MAX_VALUE).getContent(); 
+0

Wie bekomme ich ein Objekt? –

+0

Ein Objekt von was? –

+0

Ein Benutzer. Es ist in Ordnung, es funktioniert. –