luchob / softuni-spring-may-2024

Our common projects
16 stars 1 forks source link

Проблем с избор на места #59

Closed 4ukNoris closed 2 months ago

4ukNoris commented 2 months ago

Здравей, Лъчо! Когато достъпя страницата с избор на места (select-tickets.html) след като ги избера нищо не се случва.

https://github.com/4ukNoris/Spring-Project.git

Направих boolean матрица която да отговаря на местата в залата и на всяко място в темплейта сложих индекс, идеята ми е когато се избере място от false да се смени на true и след това да обработя съответните индекси. Ако можеш да ми дадеш насоки как да го оправя ще съм ти много благодарен!

Другия проблем ми е свързан с thymeleaf. (confirm-order.html) Когато правя th:each всичко в дадения скоуп спира да се показва в браузъра!

Благодаря, предварително!

4ukNoris commented 2 months ago

Здравей, да допълня че пробвах с матрица от листове: без ефект Сега съм на варианта с Map но за сега и там нямам успех. Предполагам че проблема е в html-a понеже той не предава информацията към DTO-то.

Качил съм последния вариант който пробвах с Map!

luchob commented 2 months ago

Здравей!

select-tickets.html template-a не е пушнат в gihub, за съжаление. Може би също така е добре да се понаправи проекта по лесно "пускаем" от някой който ще го сваля - например аз или човекът който ще го проверява. В момента например ако направя movie не ми записва класа му и гърми програмата с Nullpointer, тъй като няма class.getIcon(). Или ако запиша URL на картинка пък гърми с Index out of bound-s в REST API то и нищо не се записва и т.н. Т.е. дори и да имаше select-tickets щеше да ми е трудно да достигна до него :-)

Оставям бъга отворен за да може да го погледна след като push-неш темплийта.

Поздрави, Л.

4ukNoris commented 2 months ago

Благодаря. При мен всичко си върви нормално . Ще проверя това със стартирането. По принцип съм качил всички темлейти но пак ще го кача и ще пиша

На сб, 27.07.2024 г., 15:07 ч. Lachezar Balev @.***> написа:

Здравей!

select-tickets.html template-a не е пушнат в gihub, за съжаление. Може би също така е добре да се понаправи проекта по лесно "пускаем" от някой който ще го сваля - например аз или човекът който ще го проверява. В момента например ако направя movie не ми записва класа му и гърми програмата с Nullpointer, тъй като няма class.getIcon(). Или ако запиша URL на картинка пък гърми с Index out of bound-s в REST API то и нищо не се записва и т.н. Т.е. дори и да имаше select-tickets щеше да ми е трудно да достигна до него :-)

Оставям бъга отворен за да може да го погледна след като push-неш темплийта.

Поздрави, Л.

— Reply to this email directly, view it on GitHub https://github.com/luchob/softuni-spring-may-2024/issues/59#issuecomment-2254130673, or unsubscribe https://github.com/notifications/unsubscribe-auth/A6XQ2CBJJUDD7UOE3BMDGKDZOOEO7AVCNFSM6AAAAABLQXUKSWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJUGEZTANRXGM . You are receiving this because you authored the thread.Message ID: @.***>

4ukNoris commented 2 months ago

Извинявай. Аз съм се объркал, select-seat.html е темплейта в който имам проблем. Проблема със стартирането и добавяне на movie ще го тествам малко по късно и ще пиша.

luchob commented 2 months ago

Добре де, нека се абстрахираме от проекта, за да не става сложно. Това, което искаш да направиш доколкото те разбирам е да събмитнеш матрица с булеви стойности към сървъра. Ето "на голо" как може да стане това (малко е тегаво, както казват колегите). DTO:

public class MatrixFormDTO {
  private boolean[][] matrix;

  public MatrixFormDTO() {

  }

  public MatrixFormDTO(int rows, int cols) {
    this.matrix = new boolean[rows][cols];
  }

  public boolean[][] getMatrix() {
    return matrix;
  }

  public void setMatrix(boolean[][] matrix) {
    this.matrix = matrix;
  }
}

Тегавата част е thymeleaf-a в която има един малко странен синтаксис, който можеш да използваш за индексирани данни. Hidden полето е по-скоро хак, заради неприятното свойство на чекбокса да се събмитва само като е чекнат :-)

<h1>Submit Boolean Matrix</h1>
<form th:action="@{/matrix}" method="post" th:object="${matrixForm}">

  <table>

    <tr th:each="row, rowStat : *{matrix}">
       <td th:each="col, colStat : ${row}">
         <input
              type="checkbox"
              th:name="matrix[__${rowStat.index}__][__${colStat.index}__]"
              th:checked="${col}"
              value="on"/>

         <input
             type="hidden"
             th:name="matrix[__${rowStat.index}__][__${colStat.index}__]"
             value="off"/>

      </td>
    </tr>
  </table>
  <button type="submit">Submit</button>
</form>

И създаване и четене от контролера:

@Controller
public class MatrixController {

  @GetMapping("/matrix")
  public String showMatrixForm(Model model) {

    model.addAttribute("matrixForm", new MatrixFormDTO(3,4));
    return "matrix";
  }

  @PostMapping("/matrix")
  public String submitMatrix(MatrixFormDTO matrixForm, Model model) {
    boolean[][] submittedMatrix = matrixForm.getMatrix();
    // Add logic here to process the submitted matrix as needed
    model.addAttribute("matrixForm", matrixForm);
    return "matrix";
  }

}

Оттук нататък... нека силата да бъде с теб :-)

Поздрави и успех, Л.

4ukNoris commented 2 months ago

Много благодаря златен си надявам се, че ще го наглася! Все пак ще видя какъв е проблема със стартирането на проекта за да може да погледнеш следващата страница в която се визоализират детайлите на поръчката, понеже th:each скрива всичко след него дори и статичните елементи. Благодаря пак ще пиша

На сб, 27.07.2024 г., 17:05 ч. Lachezar Balev @.***> написа:

Добре де, нека се абстрахираме от проекта, за да не става сложно. Това, което искаш да направиш доколкото те разбирам е да събмитнеш матрица с булеви стойности към сървъра. Ето "на голо" как може да стане това (малко е тегаво, както казват колегите). DTO:

public class MatrixFormDTO { private boolean[][] matrix;

public MatrixFormDTO() {

}

public MatrixFormDTO(int rows, int cols) { this.matrix = new boolean[rows][cols]; }

public boolean[][] getMatrix() { return matrix; }

public void setMatrix(boolean[][] matrix) { this.matrix = matrix; } }

Тегавата част е thymeleaf-a в която има един малко странен синтаксис, който можеш да използваш за индексирани данни. Hidden полето е по-скоро хак, заради неприятното свойство на чекбокса да се събмитва само като е чекнат :-)

Submit Boolean Matrix

И създаване и четене от контролера:

@Controller public class MatrixController {

@GetMapping("/matrix") public String showMatrixForm(Model model) {

model.addAttribute("matrixForm", new MatrixFormDTO(3,4));
return "matrix";

}

@PostMapping("/matrix") public String submitMatrix(MatrixFormDTO matrixForm, Model model) { boolean[][] submittedMatrix = matrixForm.getMatrix(); // Add logic here to process the submitted matrix as needed model.addAttribute("matrixForm", matrixForm); return "matrix"; }

}

Оттук нататък... нека силата да бъде с теб :-)

Поздрави и успех, Л.

— Reply to this email directly, view it on GitHub https://github.com/luchob/softuni-spring-may-2024/issues/59#issuecomment-2254158456, or unsubscribe https://github.com/notifications/unsubscribe-auth/A6XQ2CHVRX2VG2RWTQA7TE3ZOOSJTAVCNFSM6AAAAABLQXUKSWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJUGE2TQNBVGY . You are receiving this because you authored the thread.Message ID: @.***>

4ukNoris commented 2 months ago

Относно грешките при добавяне на филм, дали в REST-api то инитваш data.sql файла понеже от там пълня базата с всички статични ресурси необходими за добавяне на филм? Идеална възможност да те питам кое е по - добрия вариант така да ги оставя да се пълни базата при създаване или да го направя в клас който да проверява всеки път дали базата е празна и да я пълни ако трябва? За втория въпрос: не знам как да го направя по лесно пускаем проекта. Пускам го през интели-то: първо REST-api понеже ако не е пуснато веднага ми грми основния App. След това си пускам и проекта.

На сб, 27.07.2024 г. в 17:35 Blagoy Velinov @.***> написа:

Много благодаря златен си надявам се, че ще го наглася! Все пак ще видя какъв е проблема със стартирането на проекта за да може да погледнеш следващата страница в която се визоализират детайлите на поръчката, понеже th:each скрива всичко след него дори и статичните елементи. Благодаря пак ще пиша

На сб, 27.07.2024 г., 17:05 ч. Lachezar Balev @.***> написа:

Добре де, нека се абстрахираме от проекта, за да не става сложно. Това, което искаш да направиш доколкото те разбирам е да събмитнеш матрица с булеви стойности към сървъра. Ето "на голо" как може да стане това (малко е тегаво, както казват колегите). DTO:

public class MatrixFormDTO { private boolean[][] matrix;

public MatrixFormDTO() {

}

public MatrixFormDTO(int rows, int cols) { this.matrix = new boolean[rows][cols]; }

public boolean[][] getMatrix() { return matrix; }

public void setMatrix(boolean[][] matrix) { this.matrix = matrix; } }

Тегавата част е thymeleaf-a в която има един малко странен синтаксис, който можеш да използваш за индексирани данни. Hidden полето е по-скоро хак, заради неприятното свойство на чекбокса да се събмитва само като е чекнат :-)

Submit Boolean Matrix

И създаване и четене от контролера:

@Controller public class MatrixController {

@GetMapping("/matrix") public String showMatrixForm(Model model) {

model.addAttribute("matrixForm", new MatrixFormDTO(3,4));
return "matrix";

}

@PostMapping("/matrix") public String submitMatrix(MatrixFormDTO matrixForm, Model model) { boolean[][] submittedMatrix = matrixForm.getMatrix(); // Add logic here to process the submitted matrix as needed model.addAttribute("matrixForm", matrixForm); return "matrix"; }

}

Оттук нататък... нека силата да бъде с теб :-)

Поздрави и успех, Л.

— Reply to this email directly, view it on GitHub https://github.com/luchob/softuni-spring-may-2024/issues/59#issuecomment-2254158456, or unsubscribe https://github.com/notifications/unsubscribe-auth/A6XQ2CHVRX2VG2RWTQA7TE3ZOOSJTAVCNFSM6AAAAABLQXUKSWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJUGE2TQNBVGY . You are receiving this because you authored the thread.Message ID: @.***>

4ukNoris commented 2 months ago

//// "За втория въпрос: не знам как да го направя по лесно пускаем проекта. Пускам го през интели-то: първо REST-api понеже ако не е пуснато веднага ми грми основния App. След това си пускам и проекта." ---> Разбрах какво имаш впредвид ще се опитам да го оправя(10мин не мога да подкарам Rest-a)

На сб, 27.07.2024 г. в 18:59 Blagoy Velinov @.***> написа:

Относно грешките при добавяне на филм, дали в REST-api то инитваш data.sql файла понеже от там пълня базата с всички статични ресурси необходими за добавяне на филм? Идеална възможност да те питам кое е по - добрия вариант така да ги оставя да се пълни базата при създаване или да го направя в клас който да проверява всеки път дали базата е празна и да я пълни ако трябва? За втория въпрос: не знам как да го направя по лесно пускаем проекта. Пускам го през интели-то: първо REST-api понеже ако не е пуснато веднага ми грми основния App. След това си пускам и проекта.

На сб, 27.07.2024 г. в 17:35 Blagoy Velinov @.***> написа:

Много благодаря златен си надявам се, че ще го наглася! Все пак ще видя какъв е проблема със стартирането на проекта за да може да погледнеш следващата страница в която се визоализират детайлите на поръчката, понеже th:each скрива всичко след него дори и статичните елементи. Благодаря пак ще пиша

На сб, 27.07.2024 г., 17:05 ч. Lachezar Balev @.***> написа:

Добре де, нека се абстрахираме от проекта, за да не става сложно. Това, което искаш да направиш доколкото те разбирам е да събмитнеш матрица с булеви стойности към сървъра. Ето "на голо" как може да стане това (малко е тегаво, както казват колегите). DTO:

public class MatrixFormDTO { private boolean[][] matrix;

public MatrixFormDTO() {

}

public MatrixFormDTO(int rows, int cols) { this.matrix = new boolean[rows][cols]; }

public boolean[][] getMatrix() { return matrix; }

public void setMatrix(boolean[][] matrix) { this.matrix = matrix; } }

Тегавата част е thymeleaf-a в която има един малко странен синтаксис, който можеш да използваш за индексирани данни. Hidden полето е по-скоро хак, заради неприятното свойство на чекбокса да се събмитва само като е чекнат :-)

Submit Boolean Matrix

И създаване и четене от контролера:

@Controller public class MatrixController {

@GetMapping("/matrix") public String showMatrixForm(Model model) {

model.addAttribute("matrixForm", new MatrixFormDTO(3,4));
return "matrix";

}

@PostMapping("/matrix") public String submitMatrix(MatrixFormDTO matrixForm, Model model) { boolean[][] submittedMatrix = matrixForm.getMatrix(); // Add logic here to process the submitted matrix as needed model.addAttribute("matrixForm", matrixForm); return "matrix"; }

}

Оттук нататък... нека силата да бъде с теб :-)

Поздрави и успех, Л.

— Reply to this email directly, view it on GitHub https://github.com/luchob/softuni-spring-may-2024/issues/59#issuecomment-2254158456, or unsubscribe https://github.com/notifications/unsubscribe-auth/A6XQ2CHVRX2VG2RWTQA7TE3ZOOSJTAVCNFSM6AAAAABLQXUKSWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJUGE2TQNBVGY . You are receiving this because you authored the thread.Message ID: @.***>

4ukNoris commented 2 months ago

Здравей, Мисля че оправих проблема със стартирането на проектите и добавянето на нов филм, даже фикснах доста неща които до преди това си мислех, че си работят като хората. За което съм ти изключително благодарен!

Приятна вечер!

На сб, 27.07.2024 г. в 19:15 Blagoy Velinov @.***> написа:

//// "За втория въпрос: не знам как да го направя по лесно пускаем проекта. Пускам го през интели-то: първо REST-api понеже ако не е пуснато веднага ми грми основния App. След това си пускам и проекта." ---> Разбрах какво имаш впредвид ще се опитам да го оправя(10мин не мога да подкарам Rest-a)

На сб, 27.07.2024 г. в 18:59 Blagoy Velinov @.***> написа:

Относно грешките при добавяне на филм, дали в REST-api то инитваш data.sql файла понеже от там пълня базата с всички статични ресурси необходими за добавяне на филм? Идеална възможност да те питам кое е по - добрия вариант така да ги оставя да се пълни базата при създаване или да го направя в клас който да проверява всеки път дали базата е празна и да я пълни ако трябва? За втория въпрос: не знам как да го направя по лесно пускаем проекта. Пускам го през интели-то: първо REST-api понеже ако не е пуснато веднага ми грми основния App. След това си пускам и проекта.

На сб, 27.07.2024 г. в 17:35 Blagoy Velinov @.***> написа:

Много благодаря златен си надявам се, че ще го наглася! Все пак ще видя какъв е проблема със стартирането на проекта за да може да погледнеш следващата страница в която се визоализират детайлите на поръчката, понеже th:each скрива всичко след него дори и статичните елементи. Благодаря пак ще пиша

На сб, 27.07.2024 г., 17:05 ч. Lachezar Balev @.***> написа:

Добре де, нека се абстрахираме от проекта, за да не става сложно. Това, което искаш да направиш доколкото те разбирам е да събмитнеш матрица с булеви стойности към сървъра. Ето "на голо" как може да стане това (малко е тегаво, както казват колегите). DTO:

public class MatrixFormDTO { private boolean[][] matrix;

public MatrixFormDTO() {

}

public MatrixFormDTO(int rows, int cols) { this.matrix = new boolean[rows][cols]; }

public boolean[][] getMatrix() { return matrix; }

public void setMatrix(boolean[][] matrix) { this.matrix = matrix; } }

Тегавата част е thymeleaf-a в която има един малко странен синтаксис, който можеш да използваш за индексирани данни. Hidden полето е по-скоро хак, заради неприятното свойство на чекбокса да се събмитва само като е чекнат :-)

Submit Boolean Matrix

И създаване и четене от контролера:

@Controller public class MatrixController {

@GetMapping("/matrix") public String showMatrixForm(Model model) {

model.addAttribute("matrixForm", new MatrixFormDTO(3,4));
return "matrix";

}

@PostMapping("/matrix") public String submitMatrix(MatrixFormDTO matrixForm, Model model) { boolean[][] submittedMatrix = matrixForm.getMatrix(); // Add logic here to process the submitted matrix as needed model.addAttribute("matrixForm", matrixForm); return "matrix"; }

}

Оттук нататък... нека силата да бъде с теб :-)

Поздрави и успех, Л.

— Reply to this email directly, view it on GitHub https://github.com/luchob/softuni-spring-may-2024/issues/59#issuecomment-2254158456, or unsubscribe https://github.com/notifications/unsubscribe-auth/A6XQ2CHVRX2VG2RWTQA7TE3ZOOSJTAVCNFSM6AAAAABLQXUKSWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJUGE2TQNBVGY . You are receiving this because you authored the thread.Message ID: @.***>