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

spring MVC liferay portlet应用程序中的可选表单字段

白念
2023-03-14

我有一个很大的表单,有很多日期字段和int字段,我的操作阶段方法是这样的:

public void createCamapign(WebRequest request,ActionResponse response ,
        Model model, @ModelAttribute("searchForm") CreateCampaignForm form) throws Exception{

在表单是我的包装bean的情况下,如果我没有在呈现的表单中填充所有字段,我的应用程序就会出现此错误

[org.springframework.web.portlet.dispatcherportlet]-处理程序执行导致异常-转发到已解决的错误视图org.springframework.validation.bindexception:org.springframework.validation.BeanPropertyBindingResult:1错误字段“activation date”上对象“search form”中的字段错误:拒绝的值[];代码[typemismatch.searchform.activationdate,typemismatch.activationdate,typemismatch.java.util.date,typemismatch];参数[org.springframework.context.support.defaultmessageSourceResolvable:代码[searchform.activationDate,activationDate];参数[];default message[activationDate]];默认消息[无法将类型为“java.lang.String”的属性值转换为属性“activation date”的必需类型“java.util.date”;嵌套异常为java.lang.IllegalStateException:无法将类型为[java.lang.String]的值转换为属性“activation date”的必需类型[java.util.date]:找不到匹配的编辑器或转换策略]

我如何或在哪里指定这些字段是可选的顺便说一下,在int字段的情况下,我通过使用Integer类解决了这个问题,但我不想对Date类型属性做同样的操作

共有2个答案

臧俊杰
2023-03-14

您可以尝试将DateTimeFormat批注放在日期字段上,如下所示:

 @DateTimeFormat(pattern = "dd/mm/yyyy")  // put any pattern you want
 private Date myDate;

注意:如果您使用的是3.2之前的spring版本,那么您需要将joda日期库添加到您的项目类路径中

许嘉福
2023-03-14

我不确定我是否正确理解了你的问题。我不是spring方面的专家。只是一个建议,比如你是否可以使用依赖项检查和@Required注释来使一些字段是必需的,而其他字段是可以忽略的。

 类似资料:
  • 我知道这个问题很困惑,但我真的不知道怎么说。所以,我的任务是创建一个比萨饼订购应用程序,我们大约完成了一半,但我们不知道如何编码它,以便您可以“组合”多个比萨饼后,第一个,我们不知道如何使它,以便客户可以选择的交付和显示/不显示字段的地址和电话号码,取决于选择的。下面是整个作业的措词以供澄清: “开发一个移动应用程序来帮助比萨店的服务员。顾客可以亲自在比萨店接受订单,也可以通过电话进行外卖或送货。

  • 我有一个Winforms应用程序,它目前正在使用application Insights SDK捕获错误日志、事件、异常、表单视图和另一个遥测。App Center现在支持WinForms应用程序,它还支持将遥测数据导出到应用程序洞察中。我现在的问题是,我是否应该从WinForms应用程序中删除Application Insights SDK,而使用AppCenter SDK?这样做有什么好处吗?

  • 问题内容: 我在处理pyGTK应用程序时遇到一些问题。我给线程一些时间来完成其任务,如果有问题,我还是继续继续,只是警告用户。但是,一旦我继续,该线程就会停止,直到调用gtk.main_quit为止。这让我感到困惑。 相关代码: .................................... 问题答案: 首先,不要继承,使用。 其次,很可能导致您明显的阻塞的原因是它采用了一个默认值为的参

  • 问题内容: 有人能够让运行JInitator的Oracle Forms借入Internet Explorer 8吗?我尝试删除所有附加组件,各种Java版本,使用通配符将域添加到受信任的站点,并使用兼容模式无济于事。我希望让我们的Oracle员工摆脱Internet Explorer 6的习惯。这与Oracle电子商务有关。 问题答案: 要解决此问题,您需要将文件C:\ Program Files

  • 问题内容: 我有一个facebook初始化sdk调用,启动应用程序时需要它来初始化: 我想使用我的Application类来做到这一点。例如: 我的主要活动是使用Facebook登录按钮: 我怎么称呼我的申请单身人士?我如何使其onCreate()工作? 问题答案: 要使您的App类遵循 Singleton设计模式 : 然后在其他任何类中使用它: 如果这是您要的..

  • 本文列出了 Dreamweaver 中提供的所有应用程序内更新。有关什么是应用程序内更新以及如何启用自动或手动更新模式的信息,请参阅安装应用程序内更新。 应用程序内更新 Bootstrap 更新 - 2016 年 8 月 Bootstrap 更新 - 2015 年 12 月 Bootstrap 更新 - 2016 年 8 月 此更新可将 Dreamweaver 中的 Bootstrap 版本升级到