小编mor*_*rja的帖子

迁移到 Jakarta EE:无法找到 URI 的 taglib [c]:[jakarta.tags.core]

我尝试从 Spring 5 升级到 Spring 6 并收到以下错误:

Unable to find taglib [c] for URI: [jakarta.tags.core]

我的 pom 中有以下内容:

    <dependency>
        <groupId>jakarta.servlet</groupId>
        <artifactId>jakarta.servlet-api</artifactId>
        <version>6.0.0</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>jakarta.servlet.jsp</groupId>
        <artifactId>jakarta.servlet.jsp-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>jakarta.servlet.jsp.jstl</groupId>
        <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
        <version>3.0.0</version>
    </dependency>
    <dependency>
        <groupId>jakarta.el</groupId>
        <artifactId>jakarta.el-api</artifactId>
        <version>5.0.1</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

我在 JSP 中使用这样的 URI:

<%@ taglib prefix="c" uri="jakarta.tags.core" %>
Run Code Online (Sandbox Code Playgroud)

根据https://jakarta.ee/specifications/tags/3.0/jakarta-tags-spec-3.0.html#preface ,URI 应正确。我找不到任何关于我缺少包含哪些依赖项的文档。

java jsp jstl jakarta-ee

8
推荐指数
1
解决办法
1万
查看次数

等待线程在shutdownhook中写入更改

我有一个shutdownhook,它在进程终止时执行.但是,程序对h2数据库所做的更改不是持久的.只有当我在提交后让关闭线程等待一段时间后,当我再次启动时,我将看到数据库中的更改.

Runtime.getRuntime().addShutdownHook(new Thread() {
    @Override
    public void run() {
        // H2 db add row, commit and close
        Thread.sleep(1000); // in try/catch
        System.out.println("Shutdown complete");
    }
}
Run Code Online (Sandbox Code Playgroud)

只有a sleep,我会在下次连接到DB时看到更改.

有没有人知道在进程终止之前如何等待H2数据库完成操作?我希望Thread.sleep()随机时间避免...

java h2 shutdown-hook

6
推荐指数
1
解决办法
690
查看次数

在纯Java中检索呈现的HTML DOM

我知道这里已经有一些类似的问题.但是我不想用Java构建浏览器,我只想看到完全生成(或"渲染")的源代码.好像我在浏览器中查看生成的DOM.有人知道这个工具吗?

我看过CobraHtmlUnit,但他们似乎无法正确呈现更复杂的网站.特别是如果有AJAX调用在加载后向网站添加内容.我真的需要一个与浏览器一样的工具,而不需要实际显示它.我到底要远程控制浏览器吗?

有人有经验吗?

可以在这里找到一个非常相似的问题,但没有任何令人满意的答案.

javascript java browser ajax rendering

5
推荐指数
1
解决办法
1754
查看次数

使用xquery和xdmp更新xml中的多个节点:node-replace

我想在我的xml数据库(Marklogic)中更新XML文档.我有xml作为输入,并希望替换目标xml中存在的每个节点.

如果一个节点不存在,那么添加它会很棒,但这可能是另一项任务.

我在数据库中的XML:

<user>
  <username>username</username>
  <firstname>firstname</firstname>
  <lastname>lastname</lastname>
  <email>email@mail.de</email>
  <comment>comment</comment>
</user>
Run Code Online (Sandbox Code Playgroud)

$ user_xml的值:

<user>
  <firstname>new firstname</firstname>
  <lastname>new lastname</lastname>
</user>
Run Code Online (Sandbox Code Playgroud)

到目前为止我的功能:

declare function update-user (
    $username as xs:string,
    $user_xml as node()) as empty-sequence()
{
    let $uri := user-uri($username)
    return
        for $node in $user_xml/user
        return 
            xdmp:node-replace(fn:doc($uri)/user/fn:node-name($node), $node)
};
Run Code Online (Sandbox Code Playgroud)

首先,我不能迭代$user_xml/user.如果我尝试迭代,$user_xml我得到异常

arg1不是node()类型

但也许它的方法不对?

有没有人可能有示例代码如何做到这一点?

xquery marklogic

3
推荐指数
1
解决办法
3301
查看次数

如何从Thread更新java GUI?

 private void StartActionPerformed(java.awt.event.ActionEvent evt) {

        Queue queue=new Queue();
        int target=Integer.parseInt(Target.getText());
        String path=Path.getText();
        final Producer p=new Producer(queue, target);
        Consumer c=new Consumer(queue);
        p.start();
        c.start();

        while(p.finish !=true)
        {
          Runnable r = new Runnable() {
            public void run() {
              ProgressPrecent.setValue(Producer.ProgressPercent);
            }
          };
          if(EventQueue.isDispatchThread()) {
            r.run();
          }
          else {
            EventQueue.invokeLater(r);
          }
       }
 }
Run Code Online (Sandbox Code Playgroud)

我有两个具有共享队列的类.其中一个是Producer,它生成直到一个目标,另一个消耗这些元素.所有两个都扩展了Thread.我想向用户显示进度百分比,但它会冻结我的GUI,所以我该怎么办?

java swing

2
推荐指数
2
解决办法
1万
查看次数

调试 cloudflare 邮件通道插件

我正在尝试为我的 cloudflare 页面使用cloudflare 邮件通道插件。但即使我完全按照描述设置了所有内容,包括域锁定,我总是得到以下结果:

Could not send your email. Please try again.
Run Code Online (Sandbox Code Playgroud)

我怎样才能找出问题所在?我找不到任何日志消息或其他详细信息。

cloudflare-workers cloudflare-pages

1
推荐指数
1
解决办法
484
查看次数