我正在考虑使用Spring MVC和Vaadin Framework的可能性.是否有任何记录的方法可以让它们很好地融合在一起?同时使用它们也是个好主意吗?与表现有关; 我将在专用服务器上运行该应用程序.
为了使我的问题更清楚,我如何从Spring MVC Controller返回一个modelandview,它将使用Vaadin呈现并可以访问所有模型数据.
我正在使用spring-boot-starter-security依赖项,以使用随附的几个类spring-security.但是,由于我想将它集成到现有的vaadin应用程序中,我只想使用类,而不是使用spring的默认登录/验证屏幕.
如何禁用此屏幕?
我不能通过扩展WebSecurityConfigurerAdapter作为我的主要入门类来进行任何配置extends SpringBootServletInitializer.此外,vaadin应用程序基本上始终在相同的URL路径上运行,并使用内部导航.
@EnableAutoConfiguration
public class MyApp extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(MyApp.class);
}
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
}
Run Code Online (Sandbox Code Playgroud)
那么,我该怎么做才能禁用登录界面,但是虽然使用了弹簧安全功能?
我正在研究Vaadin spring应用程序.我唯一能说的是,用户的身份验证/授权必须通过查询数据库来完成jdbcTemplate.如何解决这个问题?我正在使用Spring Boot 1.4.2.RELEASE.
Description:
The dependencies of some of the beans in the application context form a cycle:
???????
| jdbcAccountRepository defined in file [repositories\JdbcAccountRepository.class]
? ?
| securityConfiguration.WebSecurityConfig (field services.JdbcUserDetailsServicessecurity.SecurityConfiguration$WebSecurityConfig.userDetailsService)
? ?
| jdbcUserDetailsServices (field repositories.JdbcAccountRepository services.JdbcUserDetailsServices.repository)
???????
Run Code Online (Sandbox Code Playgroud)
原始代码如下所示:
AccountRepository:
public interface AccountRepository {
void createAccount(Account user) throws UsernameAlreadyInUseException;
Account findAccountByUsername(String username);
}
Run Code Online (Sandbox Code Playgroud)
JdbcAccountRepository:
@Repository
public class JdbcAccountRepository implements AccountRepository {
private final Logger LOGGER = LoggerFactory.getLogger(this.getClass());
private final JdbcTemplate jdbcTemplate;
private final PasswordEncoder passwordEncoder;
@Autowired …Run Code Online (Sandbox Code Playgroud) 我在金融领域工作,我们即将选择Vaadin 7开发大型重载系统.
但是,由于Vaadin保持所有州的会议,我对大型系统的Vaadin内存占用有点担心.这意味着对于每个新用户,所有应用程序状态都将存储在内存中,不是吗?
我们无法构建单一系统 - 系统必须具有可扩展性和灵活性.由于我们拥有庞大的客户群,因此必须易于定制并随时准备发展.
任何人都可以分享经验和可能的解决方法如何最小化或消除Vaadin中的这些问题?
我对Vaadin中的身份验证最佳实践感兴趣我认为这里主要有两种选择:
您更喜欢哪一个?为什么?(安全问题,易开发,其他因素)
有没有人尝试用Clojure(使用Compojure)和Vaadin实现Web应用程序?我曾经看过一篇关于使用Clojure和JWT创建Web应用程序的文章.Vaadin基于GWT,因此您可以获得GWT的许多优势(尽管Vaadin完全以服务器为中心).Clojure的优势在于您可以使用任何基于Java的框架,那么对基于Clojure + Vaadin的Web应用程序有什么想法呢?
我有一个小的Vaadin应用程序,它有几个输入字段(组合框,选择组等...).其中大部分内容由第一个ComboBox的所选内容决定.但是,当我选择其中的内容时,所有其他内容都保持空白,直到我点击一个,此时它们都会更新.这不是期望的行为,但我认为它是由服务器端是最新的但不更新客户端视图引起的.(即使在我的第一个Combobox的ValueChangeListener中添加requestRepaint())
必须有一些方法强制Vaadin获取我希望它显示的数据,即使没有点击其他组件?
编辑我不允许这么快就回答我自己的问题,所以我暂时把它放在这里:
我发现有一个javascript方法可以同步客户端和服务器.
myComponent.getApplication().getMainWindow().executeJavaScript("javascript:vaadin.forceSync();");
Run Code Online (Sandbox Code Playgroud)
我现在唯一的问题是,当我点击另一个组合框(或两次相同的组合框)时,我的一个组合框上的ValueChangeListener仍然只会触发.这是最奇怪的事情,因为第二个组合框在装载时会完美地发射它的事件.
我正在使用Vaadin 6.8.2和Maven来开发一个应用程序.
我试图通过以下链接逐步完成教程,将Calendar附加组件(1.3.0 - Vaadin 6的版本)添加到我的项目中:https://vaadin.com/book/vaadin6/-/页/ addons.maven.html
但是,当我尝试在浏览器中加载我的应用程序时,我收到以下错误:
Failed to load the widgetset: /myproject/VAADIN/widgetsets/my.company.ProjectWidgetSet/my.company.ProjectWidgetSet.nocache.js
Run Code Online (Sandbox Code Playgroud)
如果我查看控制台,我会看到:
INFO: Requested resource [VAADIN/widgetsets/my.company.ProjectWidgetSet/my.company.ProjectWidgetSet.nocache.js] not found from filesystem or through class loader. Add widgetset and/or theme JAR to your classpath or add files to WebContent/VAADIN folder.
Run Code Online (Sandbox Code Playgroud)
你有类似的问题吗?有什么帮助吗?:)
我发现很多问题,人们都在问如何在Vaadin布局中隐藏滚动条,但我的问题是Vaadin没有向我显示任何滚动条.例如,我可以有这个代码:
HorizontalLayout layout = new HorizontalLayout();
layout.setSizeUndefined(); // I also tried setSizeFull()
for(Integer i = 1; i <= 15; i++) {
layout.addComponent(new Button("Test button #" + i.toString());
}
Run Code Online (Sandbox Code Playgroud)
但是当我运行此代码时,当浏览器窗口太小而无法全部显示时,页面上的按钮就会被切断.永远不会出现滚动条.
我还尝试创建Panel,然后将我的布局添加到此面板.我已经测试了两个 - panel.addComponent(foo)而且panel.setContent(foo),我也尝试过设置panel.setScrollable(true).没有任何成功.
有没有办法将滚动条添加到某种Vaadin布局?我使用Vaadin 6.8.7.提前致谢!
有我的完整代码:
private ComponentContainer openZoomifyLayout() {
Panel panel = new Panel();
Panel panel2 = new Panel();
middlePanel = new MiddlePanel();
VerticalLayout mw = new VerticalLayout();
mw.setSizeFull();
HorizontalLayout sp = new HorizontalLayout();
Panel photos = new Panel();
photos.setSizeUndefined();
mw.addComponent(panel);
mw.addComponent(panel2);
mw.addComponent(sp);
mw.setExpandRatio(sp, 99); …Run Code Online (Sandbox Code Playgroud) vaadin ×10
java ×5
spring ×3
add-on ×1
clojure ×1
compojure ×1
datagrid ×1
gwt ×1
layout ×1
maven ×1
performance ×1
spring-boot ×1
spring-jdbc ×1
spring-mvc ×1
vaadin-grid ×1
vaadin7 ×1
web ×1