Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将值从jsp传递到java类_Java_Jsp - Fatal编程技术网

如何将值从jsp传递到java类

如何将值从jsp传递到java类,java,jsp,Java,Jsp,我的Jsp页面 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@page contentType="application/xml" trimDirectiveWhitespaces="true" %> <%@ page import="com.raos.kookooivr.CallStatusValues" %> <c:choose> <c:w

我的Jsp页面

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@page contentType="application/xml" trimDirectiveWhitespaces="true" %>
<%@ page import="com.raos.kookooivr.CallStatusValues" %>

<c:choose>

    <c:when test='${(param.event == "Conference" || param.event == "Hangup" || param.event == "Disconnect") && requestScope.state == "conferenceStarted"}'>
        <%     
            String session_id = request.getParameter("sid");
            out.print(CallStatusValues.getsessionid(session_id));
            String called_no = request.getParameter("cid");
            out.print(CallStatusValues.getcalledno(called_no));
            String actualtime = request.getParameter("total_call_duration");
            out.print(CallStatusValues.getactualtime(actualtime));
            String start_time = request.getParameter("start_time");
            out.print(CallStatusValues.getstarttime(start_time));
            String end_time = request.getParameter("time");
            out.print(CallStatusValues.getendtime(end_time));
        %>
    </c:when>
</c:choose>
我有500个错误

我试图将“
String session\u id=request.getParameter(“sid”);
”的值传递给我的java类,并试图打印会话id

public static String getsessionid(String session_id) 
        { 
            System.out.println(session_id);
            return session_id;
        }

我需要帮助从jsp获取要使用java类打印的值。例如,我的sid是123456。然后,该会话id应该从我的jsp文件传递到我的java类。

恐怕您的代码存在多个问题

  • 您不能使用静态方法-web servlet是多线程的,每个线程需要模型类实例(通常映射到每个web会话的实例)
  • 您的命名约定是非标准的。session_id变量的正确名称是sessionId,getter应该是getSessionId()-注意大小写。这符合javabean命名约定
  • 将代码耦合到模型类的方式(顺便说一句,模型类没有地方存储数据)是非标准的
  • 在JSP中编写java代码通常被认为是新项目的代码味道。更正常的做法是在JSP中使用EL和标记,并将任何Java代码移出到模型和控制器中

我建议您下载一个简单的工作J2EEJSPServlet项目,并分析它是如何工作的。然后开始修改它以满足您的需求。类似的内容应该可以帮助您开始。

恐怕您的代码存在多个问题

  • 您不能使用静态方法-web servlet是多线程的,每个线程需要模型类实例(通常映射到每个web会话的实例)
  • 您的命名约定是非标准的。session_id变量的正确名称是sessionId,getter应该是getSessionId()-注意大小写。这符合javabean命名约定
  • 将代码耦合到模型类的方式(顺便说一句,模型类没有地方存储数据)是非标准的
  • 在JSP中编写java代码通常被认为是新项目的代码味道。更正常的做法是在JSP中使用EL和标记,并将任何Java代码移出到模型和控制器中

我建议您下载一个简单的工作J2EEJSPServlet项目,并分析它是如何工作的。然后开始修改它以满足您的需求。像这样的事情应该让你开始。

不确定你正在做你想做的事情

以下是实际发生的情况:

  • 客户端发送一个以调用JSP页面结束的请求
  • servlet容器使用调用请求的上下文调用JSP
  • JSP在服务器端运行,调用请求的上下文表示:
    • 当时什么也没有呈现
    • 所有参数“sid”、“cid”等都是调用者传递的参数
  • 如果调用请求中未传递任何必需的参数,则会得到一个以错误500结尾的NullPointerException

顺便说一句,从JSP使用带有静态方法的类至少是不常见的。。。如果您需要能够在JSP中处理复杂的计算,这可能是有意义的,但在这种情况下,您最好使用servlet进行处理,将结果存储在请求属性中并转发到servlet。

不确定您正在做您想做的事情

以下是实际发生的情况:

  • 客户端发送一个以调用JSP页面结束的请求
  • servlet容器使用调用请求的上下文调用JSP
  • JSP在服务器端运行,调用请求的上下文表示:
    • 当时什么也没有呈现
    • 所有参数“sid”、“cid”等都是调用者传递的参数
  • 如果调用请求中未传递任何必需的参数,则会得到一个以错误500结尾的NullPointerException

顺便说一句,从JSP使用带有静态方法的类至少是不常见的。。。如果您需要能够在JSP中处理复杂的计算,这可能是有意义的,但在这种情况下,您最好使用servlet进行处理,将结果存储在request属性中并转发到servlet。

您需要使用HTTPPOST将数据提交到servlet。我没有使用servlet。我使用的是java类,您需要使用HTTPPOST将数据提交到servlet,我没有使用servlet。我正在使用java类
public static String getsessionid(String session_id) 
        { 
            System.out.println(session_id);
            return session_id;
        }