如何将值从jsp传递到java类
我的Jsp页面如何将值从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
<%@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;
}