无法在JSP中解析方法getParameter()

时间:2018-06-12 21:49:45

标签: java jsp intellij-idea

我正在JSP中构建一个小项目。我想从HTML注册表单中获取数据并将其保存到数据库中。但是由于标题中的错误,我的IDE(intellij)不允许我这样做。有谁知道解决这个问题?互联网研究并没有真正帮助我。

提前致谢!

修改

<%
    String name = request.getParameter("realName");
%>

错误:无法解析方法'getParameter(java.lang.String)'。

2 个答案:

答案 0 :(得分:6)

我假设您的JSP文件如下所示:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  <%
    String name = request.getParameter("realName");
  %>
    Here's the param "realName": <%=name%>
  </body>
</html>

在你的IntelliJ中看起来像这样:

enter image description here

如果是这种情况,我几乎可以肯定你错过了类路径中的servlet-api.jar文件。

以下是在IntelliJ上添加它的方法之一:

  1. 右键单击您的项目,然后选择打开模块设置
  2. enter image description here

    1. 确保您位于模块部分,依赖关系标签中,点击底部的“+”按钮,然后选择 1个JAR或目录...
    2. enter image description here

      1. 从文件夹servlet-api.jar中选择文件lib(这是重要的:) 您正在部署应用程序的容器(在我的情况下, Apache的Tomcat的31年5月8日):
      2. enter image description here

        1. 然后点击“确定”按钮。您的程序现在应该如下所示:
        2. enter image description here

          你很高兴!

          我希望它有所帮助。

          注意:我知道有时你无法避免使用scriptlet,特别是当你处理遗留代码时,就像我做了一段时间一样。尽管如此,请关注使用scriptlet的其他答案。还有其他几种选择。

答案 1 :(得分:1)

作为答案的补充,请在您的Intelli ide上尝试:

  1. 添加支持框架
  2. 检查行家
  3. 转到pom.xml
  4. 添加servlet-api依赖项:

    <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>