У меня есть такой управляемый компонент CDI, который вызывает вызов для печати свойства типа Date объекта Appointment, я сначала вызываю .toString()
для объекта Date, и это печатает без проблем:
private String[] selectedApps;
private List<String> appStrings;
private List<Appointment> appointments;
@PostConstruct
public void init() {
appointments = appointmentBean.getAppointments();
appStrings = new ArrayList<>();
appointments.forEach((n) -> {
appStrings.add("START TIME: " + n.getStartTime().toString());
System.out.print("APPOINTMENT TIME STRING: " + n.getStartTime().toString());
});
}
public String deleteApps() {
if (selectedApps.length > 0) {
appointmentBean.deleteAppointment(selectedApps);
return "template.xhtml";
} else {
System.out.print("no apps selected");
return "";
}
}
Однако в EJB у меня есть другой метод, deleteAppointment(String[] appStrings)
, который пытается распечатать те же самые значения, которые были переданы ему из метода deleteApps()
, и не может это сделать:
public void deleteAppointment(String[] appStrings) {
for (int i = 0; i < appStrings.length; i++) {
String startStr = (appStrings[i].substring(12)).trim();
System.out.print(startStr);
}
}
Единственное различие в значении, которое я пытаюсь распечатать из компонента CDI в EJB, заключается в том, что я вызвал методы .substring()
и .trim()
для строки, и если я не использую их методы и просто попробуйте напечатать исходную строку, то печать будет успешной. Не выдается никаких ошибок или исключений и не выводится никакого вида на консоль из метода EJB deleteAppointments
. Я также не смог найти решения этой проблемы.
Спасибо, Сэм.