首页 > 解决方案 > 无法将日期和字符串对象的值打印到 glassfish 服务器的控制台

问题描述

我有一个像这样的 CDI 托管 bean,它调用打印 Appointment 对象的 Date 类型属性,我.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 bean 打印到 EJB 的值的唯一区别是我已经在字符串上调用了.substring()and.trim()方法,如果我不使用这些方法而只是尝试打印原始字符串,那么打印成功。EJB 方法没有抛出任何错误或异常,也没有任何类型的输出到控制台deleteAppointments。我也无法找到任何解决此问题的方法。

谢谢,山姆。

标签: javaejbcdi

解决方案


推荐阅读