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

如何处理JSPX中的选项?

阎裕
2023-03-14

我们有几个域对象具有可为空的字段。我们已经读到hibernate需要“raw”对象来正确映射它,所以我们的getter返回optionals。我们的域对象如下所示:

public class User {

    private String firstName;

    private User boss;

    public Optional<String> getFirstName(){
        ....
    }

    public Optional<User> getBoss() {
        ...
    }
}

但现在我们在解决/绑定这些字段时遇到了问题。jspx文件。(显示和表单输入字段。)对于基本类型和字符串,我们可以通过定义自定义OptionalToStringConverter绕过这一点。

对其他域对象的可空引用仍然是一个问题。

我们考虑了几个选项,但对其中任何一个都不满意:

  • 为所有域对象和类型定义自定义转换器(会导致许多转换器并且似乎不适用于输入字段)
  • 在每个域对象上定义可选和非可选的getter(1.重复的代码,2.we想明确表示可空字段,3.不能以不同的方式访问可选和非可选字段)
  • 定义返回“原始”值或null(重复代码)的“show命令”
  • 定义处理选项的自定义tagx(当域对象变得非可选时,我们将不得不更改tagx)

我们想知道是否有一种好的、干净的方法来解析jspx中的选项。

共有1个答案

富昕
2023-03-14

表单绑定方面,Spring处理得非常好:例如,它会将下面的第一个值映射到Optional。empty(),第二个和第三个为相应的可选

<form:select path="anOptionalBoolean">
    <form:option value="" label="Not Specified"/>
    <form:option value="true" label="Yes"/>
    <form:option value="false" label="No"/>
</form:select>

在显示值方面,我没有发现比使用更好的方法。获取。在EL表达式中呈现等。它确实会产生相当麻烦的代码。

 类似资料:
  • jspx 是一个来自于埃及的java web快速开发框架。 jspx 的主要目标就是打造成为一个“对开发者友好的”框架。 jspx 主要的特点包括: 1.         JSPX易于学习。我们已经做到让一些只有HTML和Java基础,而对其它框架一无所知的开发新手在很短的时间内就上手投入生产。 2.         开箱即用(out of the box)的组件比如说DataTable,List

  • 本文向大家介绍如何在Java中处理ArithmeticException(未选中)?,包括了如何在Java中处理ArithmeticException(未选中)?的使用技巧和注意事项,需要的朋友参考一下 该java.lang.ArithmeticException是一个未经检查的异常在Java中。通常,会遇到java.lang.ArithmeticException:/零,这是在尝试将两个数字相除

  • 内核如何处理引导选项 绝大部分的内核引导选项的格式如下(每个选项的值列表中最多只能有十项): name[=value_1][,value_2]...[,value_10] 如果"name"不能被识别并且满足"name=value"的格式,那么将被解译为一个环境变量(比如"TERM=linux"或"BOOT_IMAGE=vmlinuz.bak"),否则将被原封不动的传递给 init 程序(比如"si

  • 首先,我阅读了“如何使用Spring MVC处理HTTP选项?”但答案似乎并不直接适用于Spring Boot。 看起来我应该这么做: 通过将dispatcherServlet的设置为 但是,考虑到我的代码中没有XML配置,也没有任何种类的初始化器类(在这个答案中提到),如何做到这一点呢? 在一个类中,我有一个这样的方法,它目前没有被调用。 Spring靴1.2.7。释放一个简单的设置与Sprin

  • 问题内容: 我将CentOS 7用作docker daemon主机和centos:6 Docker映像。 我想安装一些需要可解析主机名作为非环回地址的软件。如果我使用-h选项运行docker映像,例如 然后,我可以安装软件,因为容器中的/ etc / hosts像 但是,如果我从Dockerfile创建映像,则无法使用相同的方式。我测试了使用以下Dockerfile创建映像 在docker构建过程

  • 我有一个像标志一样的布尔字段来声明表中的行是否被删除。它使用复选框显示,因此如果数据已被删除,复选框值为true,反之亦然。 以下是显示表格的代码: 在表中,我可以单击复选框,但我不知道如何处理单击事件,因为我使用数据来显示数据。如何处理复选框事件使用可数据?