我写了hello.jsp
:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.util.*, java.text.* , java.lang.String" %>
<html>
<head>
<title>My JSP `hello.jsp` starting page</title>
</head>
<body>
<%
// 写java代码
SimpleDateFormat sdf = new SimpleDateFormat();
String curDate = sdf.format(new Date());
//print the information
out.print("hello"+curDate); // Here, my IntelliJ did not hint the print method, and also show Cannot resolve method 'print'
%>
</body>
</html>
错误显示:
无法解析方法'print(java.lang.String)'
快照,你可以看到打印方式是红色:
但是我在浏览器中运行这个jsp,它会在我的浏览器中输出信息。
答案 0 :(得分:0)
您应该在项目中包含Tomcat的“ lib ”目录。 如果使用IntelliJ IDE:文件->项目结构->库-> +-> [tomcat的lib文件夹]
答案 1 :(得分:0)
在pom.xml文件中添加此依赖项
.
├── some_folder1
│ ├── some_sub_folder1
│ ├── some_sub_folder2
├── some_folder2
├── @report
│ ├── html-reports
│ ├── ├── screenshots
│ ├── ├── suite-0-0
│ ├── ├── ├── 0-0
│ ├── ├── ├── ├── report.html
│ ├── ├── ├── ├── report.json
│ ├── ├── ├── 0-1
│ ├── ├── ├── ├── report.html
│ ├── ├── ├── ├── report.json
│ ├── ├── master-report.html
│ ├── ├── master-report.json
│ ├── template
│ │ ├── sanity-mobile-report-template.hbs
│ │ ├── wdio-html-template.hbs
├── specs
│ ├── test1
│ │ ├── test1.doSuccess.spec.js
│ │ ├── test1.doFail.spec.js
│ ├── test2
│ │ ├── test2.doSuccess.spec.js
│ │ ├── test2.doFail.spec.js
├── node-modules
├── package.json
运行干净,从mvn生命周期安装cmds。 一个选项将出现在右上角的Intellijide中,要求重新加载项目,然后单击该选项,它将消除Intellijide中的此错误。
答案 2 :(得分:0)
我在 IntelliJ Ultimate 2020.3.2 上遇到了同样的问题。然后我把 leela Daka 提到的依赖放在我的 pom.xml 上,重新加载 pom 并且它工作了!我所做的唯一更改是将版本更改为 2.2 以匹配使用 JSP 2.2 的 Tomcat 7。
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope></dependency>
<dependency>