将会话变量数据从jsp传递到java

将会话变量数据从jsp传递到java,java,javascript,jsp,session,session-variables,Java,Javascript,Jsp,Session,Session Variables,我创建了会话变量,因为我想将数据从一个JSP传输到另一个JSP。 我的每个JSP都是一个选项卡。 我使用请求主体将用户提供的数据从一个JSP传输到另一个JSP。在我提交数据并在Java类中使用它的最后一个JSP中,我有。> 当我尝试从所有JSP页面访问会话数据时,它会为所有数据返回一个空值 如何将所有JSP中的所有会话数据传输到Java类? 请注意,每个JSP都是一个选项卡,我从最后一个JSP提交数据 代码: 一般来说,尽量避免使用Scriptlet。您肯定应该按照Makoto的建议去做:使用M

我创建了会话变量,因为我想将数据从一个JSP传输到另一个JSP。 我的每个JSP都是一个选项卡。 我使用请求主体将用户提供的数据从一个JSP传输到另一个JSP。在我提交数据并在Java类中使用它的最后一个JSP中,我有
。>

当我尝试从所有JSP页面访问会话数据时,它会为所有数据返回一个空值

如何将所有JSP中的所有会话数据传输到Java类? 请注意,每个JSP都是一个选项卡,我从最后一个JSP提交数据

代码:


一般来说,尽量避免使用Scriptlet。您肯定应该按照Makoto的建议去做:使用MVC模式,让JSP将数据提交到一个servlet,它完成繁重的工作

每当您在JSP中有表单时,请考虑使用

然后在servlet中:

 HttpSession session = request.getSession();
 String action = request.getParameter("action");
 if(action.equals("add_date")){
     String joindate = request.getParameter( "joindate" );
     session.setAttribute("joindate",joindate);
     String birthdate = request.getParameter( "birthdate" );
     session.setAttribute("birthdate",birthdate);
 } else if(action.equals("someotheraction"){
     //do something else
 }
在JSP中,不应再次使用Scriptlet,而应通过EL访问会话变量:

join date: ${joindate}, birth date: ${birthdate}

如何设置会话变量?你是怎么读的?如果不发布一些代码,就很难理解问题的来源显示jsp中的代码,它正在会话pls中设置值。这是我如何设置会话变量的示例代码。我是说我就是这样做的。对吗?会话变量是如何设置的?您是否使用了HttpSession session=request.getSession()或servletcontext实现?没有,我没有使用您建议的上述实现。我该怎么做?zz3599:非常感谢。我会试试这个。在我试图访问变量的java类中,我扩展了MVCPortlet类。现在为了使用会话,我也需要扩展HttpSession类,对吗?但是java不支持多重继承。那我该怎么做呢?创建另一个单独的java类?我还没有使用servlet,所以我感到困惑:不使用httpsession就可以获取变量值吗?我的意思是还有别的办法吗?你是什么意思?您从请求中获取变量,然后在会话中设置它们。如果您希望变量在多个JSP中持久化(在您的例子中),那么您希望在会话中设置它。所以我想我将不得不使用你建议的方法。但我需要扩展mvcportlet类,如果现在我正在使用会话,我需要使用httpsession类。由于java不支持多重继承,我如何扩展这两个类?我现在很困惑不,您不需要扩展httpsession类。只需导入javax.servlet.http.Httpsession
join date: ${joindate}, birth date: ${birthdate}