JSP中的session.getAttribute()给出null值
这是我在JSP中的HTML代码
上面的JSP代码为opt提供了null值。 我试过request.getParameter("urlsel");
在JSP中仍然是null 。
我想用session.getAttribute("urlsel");
回答所选的选项值session.getAttribute("urlsel");
我怎么才能得到它? 我想在我的servlet和servlet中使用session.getAttribute("urlsel");
但是变空了。
请帮帮我。
为了从会话或请求中获取属性,在执行此操作之前,必须在代码中的某处设置/添加它(即首先设置属性, 然后您可以获取它们)。
简而言之: 在您的情况下 ,不要在会话或请求对象上使用getAttribute(String name)
,而是使用request.getParameter(String name)
。
您要在此处尝试完成的是检索使用HTML表单传递的参数 。 为了做到这一点,使用getParameter(String name)
方法,如:
String selectValue = request.getParameter("urlsel")
传统上,使用HTTP表单传递的值在servlet中检索 ,然后您可以执行任何操作。
正如我在您的示例中所看到的,您正在使用这种PHP方式。 虽然不是Java Web应用程序开发中最常用的方法,但是您可以使用表达式语言从param 隐式对象中检索使用HTML表单在JSP中传递的参数 (您应该避免在JSP中使用scriptlet )。
简单的例子
这是一个JSP页面的简单示例,用于展示在同一页面中检索使用HTML 表单元素提交的参数(如示例所示):
test.jsp的
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> Test Page Test Page
Testing passed parameters
Passed "course" parameter = ${param.course}
注意EL的用法: ${param.course}
,其中“ param ”是其中一个隐式对象的名称,“ course ”是select元素的名称,其值通过提交HTML表单传递。
另请参阅以下答案以获取更多信息:将变量从JSP传递到servlet 。
PS
您可能会发现阅读一些涉及servlet和JSP的教程很有用。 这是一个流行的教程,包含很好的解释和易于理解的示例:
初级和中级Servlet和JSP教程