Ograniczenie wyświetlania zawartości pola bazy

0

Cześć, mam prośbę zaczynam programować w javie ee przy pomocy Spring Boot i chcę zrobić coś takiego, poniższa metoda pobiera wszystkie dane z tabeli i przekazuje wynik do strony html i na stronie wychodzi mi całkiem łądna tabelka z danymi z bazy danych, ale jest jeden problem. Mam w bazie danych dwa pola z dużą ilością tekstu i bym chciał żeby przy pobieraniu danych z bazy do tabelki na stronie trafiało np: pierwsze 20 liter + napis "Więcej >>" będący linkiem do strony gdzie będzie ten wpis z cała prezentacją tych pól. Tak wygląda moja metoda:

        public List<Task> getList() {
            Query query = entityManager.createQuery("FROM Task t");
            List<Task> resultList = (List<Task>) query.getResultList();
            return resultList;
        }

Pomożecie mi ?

0

Masz do wyboru dwie opcje:

  1. Albo ograniczać po stronie front-endu.
  2. Albo przygotować odpowiednią listę już po stronie back-endu, tzn. wysyłasz listę: ID (link/parametr) + tekst (skrócony jeśli trzeba).

W przypadku pierwszym to zależy od technologii jakiej piszesz front-end.

W przypadku drugim masz dwie metody, które ciebie interesują:

String s = "abcdefghij";
int len = s.length(); 
System.out.println("len=" + len); // wypisze len=10, bo "abcdefghij" ma 10 znaków 

oraz substring:

String s = "abcdefghij";
String s2 = s.substring(0, 3); 

System.out.println("s2=" + s2); // wypisze "s2=abc"
0

Mozesz zrobic dwa stringi, jeden "pelny", drugi skrocony. I w frontendzie sprawdzasz stringa, jezeli jego dlugosc jest wieksza niz 20 to pobierasz drugiego stringa i dodajesz button z odnośnikiem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1