intellij-idea Intellij将无法识别OWASP jsp标记库?

mrphzbgm  于 2022-11-01  发布在  其他
关注(0)|答案(3)|浏览(243)

编辑:作为对评论的回应,我已经包含了JSP文件的开始部分,我正试图将OWASP库添加到该文件中。

<%@ taglib prefix="e" uri="https://www.owasp.org/index.php/OWASP_Java_Encoder_Project" %>

这个语句已经在JSP文件中了,我还在maven POM文件依赖项中添加了所需的jar。
这是JSP文件的开头几行。正如你所看到的,文件中已经有多个taglib语句,它们已经被使用过了,并且已经工作了。我不知道为什么OWASP taglib不工作。有人能提供一个工作的例子吗?

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib prefix="asrs" tagdir="/WEB-INF/tags" %>
<%@ taglib prefix="e" uri="https://www.owasp.org/index.php/OWASP_Java_Encoder_Project" %>

<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" >

<asrs:cssPath relativePath="find.css" />

<asrs:dojoConfig relativePath="lib/dojo/dojo.js" configValue="parseOnLoad: true"/>
<asrs:javascriptPath relativePath="lib/dojo/io/iframe.js"/>
<asrs:javascriptPath relativePath="lib/spring/Spring.js"/>
<asrs:javascriptPath relativePath="lib/spring/Spring-Dojo.js"/>
<asrs:javascriptPath relativePath="Metadata.js"/>
</head>

<body onunload="javascript: exitpop()" onresize="resize()">

<c:if test="${saved}">
<script type="text/javascript" language="JavaScript">
top.close();
</script>
</c:if>

[code continues]

原始帖子:
我正在尝试使用嵌入式Tomcat将OWASP标记库添加到Sping Boot 项目中。项目文档here和其他问题here表明这应该是正确的:

<%@ taglib prefix="e" uri="https://www.owasp.org/index.php/OWASP_Java_Encoder_Project" %>
<p>Dynamic data via EL: ${e:forHtml(param.value)}</p>
<p>Dynamic data via tag: <e:forHtml value="${param.value}" /></p>

但是我无法让Intellij识别这个标记库。我已经将两个OWASP依赖项添加到项目中,但是似乎没有任何帮助:

<dependency>
    <groupId>org.owasp.encoder</groupId>
    <artifactId>encoder</artifactId>
    <version>1.2.3</version>
</dependency>
<dependency>
    <groupId>org.owasp.encoder</groupId>
    <artifactId>encoder-jsp</artifactId>
    <version>1.2.3</version>
</dependency>

这个问题是与OWASP库有关还是与Spring Boot有关?

bfrts1fy

bfrts1fy1#

如果有帮助,请尝试添加此Maven依赖项:

<dependency>
  <groupId>org.owasp</groupId>
  <artifactId>dependency-check-maven</artifactId>
  <version>7.2.0</version>
  <type>maven-plugin</type>
</dependency>

然后,检查是否已在pom.xml中添加了JSP文件所需的依赖项,以便在Spring Boot中工作
浏览官方文档here,您已经添加了JSP编码的正确依赖项,还浏览了OWASP提供的GitHub上的实现文档,这里是link

pdsfdshx

pdsfdshx2#

尝试使缓存失效并在IntelliJ中重新启动。

bsxbgnwa

bsxbgnwa3#

在JSP中使用EL

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@taglib prefix="e" uri="https://www.owasp.org/index.php/OWASP_Java_Encoder_Project" %>

<html>
<head>
<title>
<b><e:forHtml value="${param.title}" /></b>
</title>
</head>
<body>
<h1>
<b>${e:forHtml(param.data)}</b>
</h1>
</body>
</html>

相关问题