如果我关闭并重新打开,然后再点击我的按钮,WebView现在会显示新的数据。
我确信问题在于我使用的是getClass().getResource(String):
URL link = getClass().getResource("EmailSigTest.html");
engine = webView.getEngine();
engine.load(link.toString());
我如何使这个东西动态变化,即:
1. Input data
2. Write File
3. Refresh WebView to reflect new html doc
public class SignatureGenFXMLDocController implements Initializable {
private String firstName, lastName, directLine, title, cellPhone, lineOne, lineTwo;
boolean social = false;
@FXML private TextField txtFirstName, txtLastName, txtDirectLine, txtTitle, txtCellPhone;
@FXML private CheckBox chkSocialIcons;
@FXML Button btnGenerate;
@FXML WebView webView;
@FXML WebEngine engine;
@FXML private void handleButtonAction(ActionEvent event) throws InterruptedException {
System.out.println("You clicked me!");
firstName = txtFirstName.getText();
lastName = txtLastName.getText();
directLine = txtDirectLine.getText();
title = txtTitle.getText();
cellPhone = txtCellPhone.getText();
writeHtml();
readHtml();
}
@Override
public void initialize(URL url, ResourceBundle rb) {
}
private void writeHtml(){
// Configurae Freemarker
Configuration cfg = new Configuration();
try {
// Load the template
Template template = cfg.getTemplate("src/signaturegen/template.ftl");
Map<String, Object> data = new HashMap<String, Object>();
data.put("fName", firstName);
data.put("lName", lastName);
data.put("title", title);
data.put("dLine", directLine);
data.put("social", social);
Writer console = new OutputStreamWriter(System.out);
template.process(data, console);
console.flush();
// File output
Writer file = new FileWriter (new File("build/classes/signaturegen/EmailSigTest.html"));
template.process(data, file);
file.flush();
file.close();
} catch (IOException e) {
e.printStackTrace();
} catch (TemplateException e) {
e.printStackTrace();
}
}
private void readHtml(){
URL link = getClass().getResource("EmailSigTest.html");
engine = webView.getEngine();
engine.load(link.toString());
}
}
正如本问题中所讨论的,在webview
中重新加载相同的URL不起作用。
您可能希望尝试将重新加载委托给页面本身中的JavaScript。为此,您在页面中定义了一个函数:
function reloadMe() {
location.reload();
}
并从Java调用此函数:
private void readHtml(){
URL link = getClass().getResource("EmailSigTest.html");
engine = webView.getEngine();
engine.executeScript("reloadMe();");
}
我正在用Spring boot编写一个程序,我的数据库是PostGRE。我对百里香有意见。我尝试输入一个localdate值,但该值仍然为空。我对字符串和int等其他值没有任何问题。
我知道有几个JasperReport参数在iReport中工作,但在JasperReport Server中失败,但我在这里变得疯狂,不确定我还可以尝试什么: 查询: 参数(添加了具有以下数据的新参数): 其他都是空的。 如果我在iReport中运行它,我会得到一个提示窗口,并且可以在那里输入字符串,并且当我在预览中获得正确的数据时,报告会正确过滤掉。 为了在服务器上使用此报告,我添加了新的输入控
本文向大家介绍extjs_02_grid显示本地数据、显示跨域数据,包括了extjs_02_grid显示本地数据、显示跨域数据的使用技巧和注意事项,需要的朋友参考一下 1.显示表格 2.显示本地数据 3.显示跨域jsonp数据
当我在Eclipse中的服务器上运行我的应用程序时,我会得到这样的消息:“Tomcat V8.0服务器在localhost上所需的端口8080已经在使用中。该服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动该服务器,您需要停止其他进程或更改端口号”。其他项目关闭。有人能帮我解决这个问题吗?我是爪哇初学者。
5.1.1. 服务器端脚本和实用工具概述 5.1.2. mysqld-max扩展MySQL服务器 5.1.3. mysqld_safe:MySQL服务器启动脚本 5.1.4. mysql.server:MySQL服务器启动脚本 5.1.5. mysqld_multi:管理多个MySQL服务器的程序 MySQL服务器,即mysqld,是在MySQL安装中负责大部分工作的主程序。服务器随附了几个相关脚
所以,我有一个main活动,它有一个启动服务的按钮,MyService。我希望该服务显示带有自定义标题、文本、图标等的通知。该服务是一个前台服务。不是绑定服务。一切正常,但唯一的一点是关于我的通知是不断显示“点击获取更多信息”,点击它会引导我进入应用程序的设置页面。尽管我的主要活动是悬而未决的。 我想要的是有一个带有自定义标题、文本、图标和停止服务的操作的通知。 这是我的主要活动。java类 我的