gpt4 book ai didi

java - JSP 中的 session.getAttribute() 给出空值

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:17:40 25 4
gpt4 key购买 nike

这是我在 JSP 中的 HTML 代码

<select name="urlsel" id="selurl">
<option value="eng" name="eng"/>
<option value="mat" name="mat"/>
<option value="sci" name="sci"/>
</select>
<input type="submit" value="submit option" onsubmit="return validate()"/>
<% String opt=session.getAttribute("urlsel");
System.out.println("\n selected optiion is:+opt)
%>

上面的 JSP 代码为 opt 提供了 null 值。我尝试在 JSP 中使用 request.getParameter("urlsel"); 仍然得到 null

我希望使用 session.getAttribute("urlsel");

选择选项值答案

我怎样才能得到它?我希望在我的 servlet 和 servlet 中使用 session.getAttribute("urlsel");
但得到空值。

请帮帮我。

最佳答案

为了从 session 请求获取属性,在此之前,您必须在代码中的某处设置/添加它(即首先 strong> 设置属性,然后你可以得到它们)。

所以简短的回答:在你的情况下,而不是使用 getAttribute(String name) session 请求 对象上,使用 request.getParameter(String name) .


您在这里试图完成的是检索使用 HTML 表单传递的参数。为此,请使用 getParameter(String name) 方法,例如:

String selectValue = request.getParameter("urlsel")

传统上使用 HTTP 表单传递的值在 servlet 中检索,然后您可以对它们做任何您需要做的事情。

正如我在您的示例中看到的那样,您正在以这种PHP 方式进行操作。虽然不是 Java Web 应用程序开发中最常见的方式,但您可以从 param implicit object 检索在 JSP 中使用 HTML 表单传递的参数使用 Expression Language (你应该 avoid scriptlets in your JSP )。


简单例子

这是一个 JSP 页面的简单示例,用于展示如何在同一页面中检索使用 HTML form 元素提交的参数(如您的示例所示):

测试.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Test Page</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<h1>Test Page</h1>
<form action="" method="post">
<p>Choose some course</p>
<select name="course">
<option value="English" name="eng">English</option>
<option value="Math" name="mat">Math</option>
<option value="Computer Science" name="sci">Computer Science</option>
</select>
<p><input type="submit" value="Pass data" /></p>
</form>
<hr />
<h2>Testing passed parameters</h2>
<p>Passed "course" parameter = <span style="color: #FF0000">${param.course}</span></p>
</body>
</html>


注意 EL 的用法:${param.course} ,其中“param”是 implicit objects 之一的名称, "course"是 select 元素的名称,其值是通过提交 HTML 表单传递的。

另请查看以下答案以获取更多信息:Passing variables from JSP to servlet .


附言

您可能会发现阅读一些涵盖 servlet 和 JSP 的教程很有用。这是一个流行的教程,有很好的解释和易于理解的示例:

Beginning & Intermediate Servlet & JSP Tutorials

关于java - JSP 中的 session.getAttribute() 给出空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17274775/

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