当前位置: 首页 > 知识库问答 >
问题:

Spring3验证抛出java.lang.IllegalStateException

万喜
2023-03-14

我的验证器类

 public class ProductValidator implements Validator {
    public void validate(Object obj, Errors errors) throws ValidatorException {
        Product product =(Product)obj;
        if("NONE".equals(product.getCategory())){
            errors.rejectValue("category","Category Required");
        }
    }
 <form:select path="category" cssClass="add">
        <form:option value="NONE" label="--- Select Category ---"/>
    <form:options items="${categoryList}" itemValue="categoryId" itemLabel="categoryName"/>             
</form:select>       
<form:errors path="category" cssClass="error"> </form:errors>

当我没有选择任何选项就提交表单时,

无法将类型java.lang.String的属性值转换为属性类别所需的类型com.main.java.category;嵌套异常为java.lang.IllegalStateException:无法将类型[java.lang.String]的值转换为属性类别所需的类型[com.main.java.category]:找不到匹配的编辑器或转换策略

这里有什么不对劲吗?

请救救.....

共有1个答案

陆臻
2023-03-14

如果未选择任何内容,则将“none”字符串提交给您的控制器。

    <form:option value="NONE" label="--- Select Category ---"/>

这就是您得到此异常的原因

 类似资料:
  • 在测试中,我使用的是mockobject: 我试图验证其方法的使用: 但它抛出以下异常: 组织。莫基托。例外情况。滥用。UnfinishedVerificationException:此处缺少验证(模拟)的方法调用: 这一行的例外点是: setMaxRows接受一个int。 当我注释掉这一行时,测试成功了。调试程序时,我可以看到正在设置的setMaxRows方法: BrandLabels是一个Li

  • 当我使用ValidationUtil.InvokeValidator验证时 2018-07-06 16:04:09.769错误10223--[nio-8080-exec-1]O.a.C.C.C.[.[.[/].[dispatcherServlet]:路径为[]的上下文中servlet[dispatcherServlet]的servlet.service()引发异常[请求处理失败;嵌套异常为java

  • 问题内容: 使用developers.google.com,我们创建了api用户,并将凭据下载为json文件。现在,在我的Macbook上,gspread身份验证在使用凭据.json时工作正常。当将相同的配置移到aws上的linux服务器上时,给出了403权限不足错误。 Pip和python版本相同。 例外 基本代码 问题答案: 尝试将变量更改为以下内容: 确保在API控制台中启用了Drive A

  • 在下面一段Android应用程序的代码中,服务器向连接Android客户端提供了一个自签名证书。也就是说,我已经用自己的CA签署了服务器的证书。该证书将使用CA的公钥进行验证,该公钥是从放置在/raw中的名为trust_store_ca的文件中获得的。问题是,如果我使用不同的证书(使用不同的CA签名,即),验证步骤不会抛出相应的SignatureException。我在NetBeans中测试了代码

  • 我有一个电子邮件/密码firebase认证的应用程序。 它从登录活动开始 然后在我的onStart中,我检查当前用户是否为空,然后它导航到我的主要活动。这部分工作得非常好。 问题来了,在主活动中我有一个按钮,在这里我从LoginActivity.java调用signout函数: 问题是当logMeOut运行时,我得到了这种美 java.lang.NullPointerException:尝试对空对

  • 我正在设置一个KeyVault来从我的. NET Azure WebApp中删除秘密,并通过CredScan,据我所知,一切都已正确连接。 KeyVault与应用程序存在于同一资源组中,并且具有所需的机密。应用程序服务在KeyVault的访问策略中设置了显式读取权限。所有正确的参数都用于在代码中创建API客户机,遵循文档。 然而,当我使用标准API调用使用客户端实际访问一个秘密时,即。 我得到以下