无法解析 JSP 中的方法 getParameter()
Posted
技术标签:
【中文标题】无法解析 JSP 中的方法 getParameter()【英文标题】:Cannot resolve method getParameter() in JSP 【发布时间】:2018-11-22 09:23:24 【问题描述】:我正在用 JSP 构建一个小项目。我想从 html 注册表单中获取数据并将它们保存到数据库中。但是由于标题中的错误,我的 IDE (intellij) 不允许我这样做。有谁知道解决这个问题?互联网研究并没有真正帮助我。
提前致谢!
编辑
<%
String name = request.getParameter("realName");
%>
错误:无法解析方法“getParameter(java.lang.String)”。
【问题讨论】:
请添加相关代码和错误。 @BheshGurung 添加了代码和确切的错误。 你不应该在 JSP 中使用 scriplets。 那怎么办?另外,我没有从 url 中获取这个参数,我有一个用户使用 post 方法填写的表单。总而言之,我认为这不是一个重复的问题...... 您是否尝试过此答案***.com/a/1890462/738746 中的建议?它建议使用像$param.realName
这样的EL 而不是scriptlet。
【参考方案1】:
作为答案的补充,请在您的 intellij ide 上试试这个:
-
添加支持框架
检查行家
转到 pom.xml
添加 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>
【讨论】:
+1 表示 Maven 依赖项。关键点是标签“我假设您的 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 中看起来像这样:
如果是这种情况,我几乎可以肯定你的类路径中缺少 servlet-api.jar
文件。
这是在 IntelliJ 上添加它的一种方法:
-
右键单击您的项目并选择打开模块设置:
-
确保您位于 Modules 部分的 Dependencies 选项卡上,单击底部的“+”按钮,然后选择 1 JAR 或目录...:
-
从文件夹
lib
中选择文件servlet-api.jar
(这很重要:)您正在部署应用程序的容器(在我的情况下,apache-tomcat- 8.5.31):
-
然后单击“确定”按钮。您的程序现在应该如下所示:
一切顺利!
希望对你有帮助。
注意:我知道有时您无法避免使用 scriptlet,尤其是在您处理遗留代码时,就像我曾经做过的那样。尽管如此,也请注意此处有关使用脚本的其他答案。还有其他几个可用的选项。
【讨论】:
以上是关于无法解析 JSP 中的方法 getParameter()的主要内容,如果未能解决你的问题,请参考以下文章
request.getParameter() 在 java servlet 中无法正确显示字符编码
JSP中getParameter和getAttribute区别