【发布时间】:2014-04-15 00:26:13
【问题描述】:
我正在尝试编写简单的 Vaadin 表单。我想在用户单击按钮后将文本从 TextField 写入标签。
我有这个代码:
package com.example;
import javax.servlet.annotation.WebServlet;
import com.vaadin.annotations.VaadinServletConfiguration;
import com.vaadin.server.VaadinRequest;
import com.vaadin.server.VaadinServlet;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.Label;
import com.vaadin.ui.TextField;
import com.vaadin.ui.UI;
import com.vaadin.ui.VerticalLayout;
public class TestForm extends UI {
@WebServlet(value = "/TestForm", asyncSupported = true)
@VaadinServletConfiguration(productionMode = false, ui = TestForm.class)
public static class Servlet extends VaadinServlet {
}
private TextField tf;
private Label lbl;
private Button btn;
@Override
protected void init(VaadinRequest request) {
final VerticalLayout layout = new VerticalLayout();
layout.setMargin(true);
setContent(layout);
tf = new TextField("Enter text");
lbl = new Label();
btn = new Button("Click");
btn.addClickListener(new Button.ClickListener() {
public void buttonClick(ClickEvent event) {
lbl.setCaption(tf.getValue());
}
});
layout.addComponent(tf);
layout.addComponent(btn);
layout.addComponent(lbl);
}
}
但是当我点击按钮后标签没有发生,但是网络浏览器显示错误:
通讯问题 记下任何未保存的数据,然后单击此处继续。(SyntaxError) 堆栈:eval@[native code] Jda BR Zc Xc line: 340: Unexpected token '
我做错了什么?
【问题讨论】:
-
我创建了一个测试项目,您的代码可以正常工作。控制台中是否有任何堆栈跟踪?
-
在我写完答案后看到了 nexus 的评论。没想到自己尝试您的代码。如果你有一个堆栈跟踪,它确实很有用。
标签: java javascript vaadin onclicklistener