1

我开始使用 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="/>

关于如何让这个考试实体打印出一个漂亮的、适合家庭使用的字符串的任何想法?

4

1 回答 1

0

查看 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="/>
于 2013-03-01T13:34:23.683 回答