Java bean数组eclipse scout示例
我正在学习日食侦察。。。我已经连接到Sql server,使用对象[][]获取数据……现在,我想使用beans、beanarray holder获取数据。。。 我不知道过程 我已经创建了bean用户! 我已经使用服务填充了bean,使用以下示例: 所以,有人能解释一下如何在scout中使用bean、填充表或表单 制作一个bean示例:用户 在服务中填充bean示例:从users表获取用户数据 使用该bean填充表。。。 tnxjavapojobean 如果您使用的是普通的旧java对象POJO,如下所示:Java bean数组eclipse scout示例,java,eclipse,eclipse-scout,Java,Eclipse,Eclipse Scout,我正在学习日食侦察。。。我已经连接到Sql server,使用对象[][]获取数据……现在,我想使用beans、beanarray holder获取数据。。。 我不知道过程 我已经创建了bean用户! 我已经使用服务填充了bean,使用以下示例: 所以,有人能解释一下如何在scout中使用bean、填充表或表单 制作一个bean示例:用户 在服务中填充bean示例:从users表获取用户数据 使用该bean填充表。。。 tnxjavapojobean 如果您使用的是普通的旧java对象POJO,
public class User {
private String firstName;
private String lastName;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
public User[] loadAll() throws ProcessingException {
BeanArrayHolder<User> beansArray = new BeanArrayHolder<User>(User.class);
SQL.selectInto(" select first_name, last_name " +
" from users " +
" into :{FirstName}, :{LastName} ", beansArray);
return beansArray.getBeans();
}
您可以像这样填充这些POJO的数组:
public class User {
private String firstName;
private String lastName;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
public User[] loadAll() throws ProcessingException {
BeanArrayHolder<User> beansArray = new BeanArrayHolder<User>(User.class);
SQL.selectInto(" select first_name, last_name " +
" from users " +
" into :{FirstName}, :{LastName} ", beansArray);
return beansArray.getBeans();
}
映射服务器端也是可能的。但在这种情况下,您应该明确地考虑使用表数据,见下一节
表数据
您应该确保使用的是基于bean的TableData。阅读此答案,了解如何区分
假设表单中有这样一个UserTableField:
@Order(10.0)
@FormData(sdkCommand = FormData.SdkCommand.USE, value = AbstractTableFieldBeanData.class, defaultSubtypeSdkCommand = FormData.DefaultSubtypeSdkCommand.CREATE)
public class UserTableField extends AbstractTableField<UserTableField.Table> {
@Order(10.0)
public class Table extends AbstractExtensibleTable {
public LastNameColumn getLastNameColumn() {
return getColumnSet().getColumnByClass(LastNameColumn.class);
}
public FirstNameColumn getFirstNameColumn() {
return getColumnSet().getColumnByClass(FirstNameColumn.class);
}
@Order(10.0)
public class FirstNameColumn extends AbstractStringColumn {
@Override
protected String getConfiguredHeaderText() {
return TEXTS.get("FirstName");
}
}
@Order(20.0)
public class LastNameColumn extends AbstractStringColumn {
@Override
protected String getConfiguredHeaderText() {
return TEXTS.get("LastName");
}
}
}
}
如果希望使用SQL查询填充表,可以执行以下操作,而不是手动添加行:
BeanArrayHolder<User> beansArray = new BeanArrayHolder<User>(User.class);
SQL.selectInto(" select first_name, last_name " +
" from users " +
" into :{UserTable.FirstName}, :{UserTable.LastName} ", formData);
它与TablePageData的工作方式相同,请参见本教程中的示例:
嗨,我试过了!但是没有运气!不知道在哪里调用bean,我已经添加了@FormDatasdkCommand=FormData.SdkCommand.USE,value=AbstractTableFieldBeanData.class,DefaultSubjectSDKCommand=FormData.DefaultSubjectSDKCommand.CREATE到类UsersTableData,创建了bean,用select填充了它,但是运气不好!@FormDatasdkCommand=FormData.SdkCommand.USE,value=AbstractTableFieldBeanda.class,DefaultSubjectSDKCommand=FormData.DefaultSubjectSDKCommand.CREATE行在表字段上,而不是在表数据类上。我不知道如何帮助您,因为我不明白您没有得到什么。请继续讨论,我会尽力的。