我有一个正在升级和修改的 gwt 和 grails 遗留应用程序。它是一个基本上具有不同“ View ”的预订日历。我遇到的问题是我希望用户能够选择默认值在登录时自己查看..我之前用一个只有 grails 的应用程序做过这个但是 gwt 有很大的不同..我怎样才能将一些东西从 config.groovy 传递到 gwt 部分来选择要显示的 View ..和这个 View 不是像 grails View 那样的 View ..把它想象成餐厅..用户可能只想查看特定餐厅的预订,而不是所有餐厅的默认预订
最佳答案
也许不是你问题的直接答案,但你可以做一个普通的 GWT 远程服务 UserPreferencesService
来存储用户偏好
public interface UserPreferencesService extends RemoteService {
List<Restaurant> getRestaurants(Account user);
void setRestaurants(Account user, List<Restaurant> restaurants);
}
在您的入口点,您可以决定向用户显示哪种 View
public final class Application implements EntryPoint {
private AuthServiceAsync authService =
GWT.create(AuthService.class);
private UserPreferencesAsync preferencesService =
GWT.create(UserPreferencesService.class);
@Override
public void onModuleLoad() {
// handle login
authService.getAccount(new Callback<Account>() {
@Override
public void onSuccess(final Account account) {
// check if user have a preferred restourants
preferencesService.getRestaurants(account,
new Callback<Account>() {
@Override
public void onSuccess(final List<Restaurant> restaurants) {
// user did not select any restaurants yet.
// Show a selection widget
if (restaurants.isEmpty) {
RestaurantSelectorWidget widget =
new RestaurantSelectorWidget();
// your custom handler here
widget.addHandler(new Handler() {
@Override
public void onSelected(/*...*/) {
// save user preferences
// and switch to normal view
}
})
RootPanel.get("container")
.add(widget);
} else {
// show normal view
}
}
}
}
}
}
}
}
你也可以看看this为 grails 添加 GWT 支持的插件。
关于grails - 在 gwt 中使用 config.groovy 来获取用户偏好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38998845/