【问题标题】:SpringRoo - Default Id in webapp is too verbose, toString ignored?SpringRoo - webapp 中的默认 ID 太冗长,toString 被忽略了吗?
【发布时间】:2013-03-01 02:26:10
【问题描述】:

我开始使用 Spring Roo。到目前为止一切都很好,对于基于 CRUD 的应用程序来说,这似乎是一个不错的 Java 选项。

我使用 SpringRoo 在线教程之一作为基础创建了一个基本的 Web 应用程序。

我已经建立了基本的脚手架,并且看起来具有一对多关系的对象在应用程序中是这样列出的:

List all Exam Modules

Difficulty   Category   Exam Id         
Easy         Software   Design  2013-02-28 15:01:29.0 2013-02-28 15:01:29.0 Test Software Exam

考试 ID 是对考试实体的引用,如下所示:

import org.springframework.roo.addon.dbre.RooDbManaged;
import org.springframework.roo.addon.javabean.RooJavaBean;
import org.springframework.roo.addon.jpa.activerecord.RooJpaActiveRecord;
import org.springframework.roo.addon.tostring.RooToString;

@RooJavaBean
@RooJpaActiveRecord(versionField = "", table = "exam")
@RooDbManaged(automaticallyDelete = true)
public class Exam {

    @Override
    public String toString() {
        return id + ": " + desc;
    }
}

之前,toString 是使用 @RooToString 配置的

这还没有反映在 web 应用程序中,所以可能在那里显示的字符串没有调用 toString 方法。

我在jspx中的代码如下:

        <table:column id="c_com_mypackage_examino_domain_ExamModule_examId" property="examId" z="iz7M0ohWIJEbf7nEYqPLkvKKtcE="/>

知道如何让这个考试实体打印出适合家庭使用的漂亮字符串吗?

【问题讨论】:

    标签: java spring spring-roo jspx


    【解决方案1】:

    查看 ApplicationConversionServiceFactoryBean.java(或 .aj)。会有一个类似于

    的方法
    public Converter<Exam, String> getExamToStringConverter() 
    

    public Converter<ExamPK, String> getExamToStringConverter() 
    

    更改它,使其仅包含您想要查看的字段。

    或者,您可以在 Exam.java 中添加一个 bean 样式方法,该方法返回您想要的字符串并将其作为属性调用。这假设您已经创建了一个名为 getMyExamId() 的方法,该方法返回您想要的字符串。请注意,您需要将 z 更改为“用户管理”

            <table:column id="c_com_mypackage_examino_domain_ExamModule_examId" property="myExamId" z="user-managed="/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-07
      • 2020-04-18
      • 1970-01-01
      • 1970-01-01
      • 2011-12-18
      • 2013-11-05
      相关资源
      最近更新 更多