java - 调度程序 servlet 抛出异常 : NumberFormatException

标签 java jsp spring-mvc

我有带有 @InitBinder 的 Controller ,该 Controller 具有 setAsText 方法,但由于某些未知原因,当传递空字符串时出现异常。异常(exception):

SEVERE: Servlet.service() for servlet [dispatcher] in context with path [] threw exception [java.lang.NumberFormatException: For input string: ""] with root cause
java.lang.NumberFormatException: For input string: ""

此 JSP 代码导致错误:

<div class="form-group">
    <label for="organization">
        <spring:message code="label.organization"></spring:message>:</label>

    <form:select path="organization" class="form-control" id="organization">
        <form:option value="" label="- Select -" />
        <form:options items="${organizations}" itemLabel="name" itemValue="id" />
    </form:select>
</div>

Controller :

@InitBinder
    public void initBinder(WebDataBinder binder) {
        binder.registerCustomEditor(Organization.class,
                new PropertyEditorSupport() {
                    @Override
                    public void setAsText(String text) {
                        Organization organization = organizationService.getOrganization(Integer.parseInt(text));
                        setValue(organization);
                    }
                });
    }

出了什么问题?如何让它发挥作用?

更新: 我不明白为什么空字符串作为 setAsText 方法的参数到达。首先浏览器向 url 发出请求,Spring 调度程序 servlet 提供匹配 Controller 的方法,然后发生一些神奇的事情,空字符串到达​​ @InitBinder 的 setAsText 方法......

最佳答案

已解决:

 public void setAsText(String text) {
        Object organization;
        if ("".equals(text)) {
            organization = (List < Organization > ) organizationService.getOrganizations();
        } else {
            organization = organizationService.getOrganization(Integer.parseInt(text));
        }

        setValue(organization);
    }

关于java - 调度程序 servlet 抛出异常 : NumberFormatException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28637950/

相关文章:

java - response.sendRedirect 的 IllegalStateException

java - Spring MVC 将对象绑定(bind)解释为字符串

java - intellij IDEA 中不允许出现元素 "systemPropertyVariables"

java - 如何以 Flux 模式存储对象更新 View

java - 当远程计算机中未安装 cygwin 时,使用 Java 连接到远程 Windows 计算机

java - Spring - 使用数据绑定(bind)重定向到另一个 View

java - java中的多部分文件上传检查mime类型

java - 独立的 JavaFX 属性实现?

java - 从 JSP 生成 HTML

javascript - 如何使用 jquery 有效地搜索具有中间有索引的名称属性的输入?