gpt4 book ai didi

开发模式下的 GWT + JSTL——这可能吗?

转载 作者:行者123 更新时间:2023-12-01 23:25:34 24 4
gpt4 key购买 nike

我有一个 GWT 应用程序(由 roo 生成),我决定使用 Spring Security 来保护它。 Roo 生成一个 login.jspx 页面作为安全设置的一部分,这个 jspx 使用一些基本的 JSTL 标签库。

在开发模式下运行时,底层 Jetty 服务器显然不喜欢这样。具有以下 Maven 依赖项

    <dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
<classifier/>
</dependency>
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>jstl-impl</artifactId>
<version>1.2</version>
<classifier/>
</dependency>

我明白了

java.lang.AbstractMethodError: javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext;

我的猜测是 jSTL-impl 依赖项与 Web 容器已经提供的依赖项冲突,但是当我将其范围更改为提供时,我得到:

org.apache.jasper.JasperException: /WEB-INF/views/login.jspx(22,69) The attribute prefix fn does not correspond to any imported tag library

有人让这个成功地工作了吗?

附言我听说您可以将应用程序导出到 Tomcat,并且它运行良好,但 GWT 编译可能是一项耗时的操作,所以让它在开发模式下工作会很棒。

最佳答案

显然,支持 GWT 开发模式的 Jetty 服务器已经在类路径中的某处安装了 JSTL 1.1。如果更改 Roo 默认添加的 Maven 依赖项

    <dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
<classifier/>
</dependency>
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>jstl-impl</artifactId>
<version>1.2</version>
<classifier/>
</dependency>

    <dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.1.1</version>
<classifier/>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.1</version>
</dependency>

您将拥有一个工作的 GWT + JSTL 环境!

关于开发模式下的 GWT + JSTL——这可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7062024/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com