我有一个名为User_Ref.jsp
的JSP页面,其中cih有一个日期选择器。当我点击该页面上的提交时,它会被重定向到另一个名为ref_time_current.jsp
的JSP页面。在这个JSP页面中,我使用了一个scriptlet来保存用户从日历中选择的值,即日期选择器。脚本是
<%
Ref_log_current obj = new Ref_log_current();
String str= request.getParameter("datepicker");
ref.refarray_vac1(str);
%>
现在,我想在同一JSP页面中以这种方式使用scriptlet中定义的str
变量
<c:out value="${ref.refarray_vac1(str)}"></c:out>
但是当我执行这个返回列表显示为空列表的refarray_vac1(String Date)
方法。我认为我使用str
变量的方式不对。请纠正我。
JSTL只能访问作用域变量,而不能直接访问写变量。但是你可以用这种方式轻松地创建一个页面变量:
<%
Ref_log_current obj = new Ref_log_current();
String str= request.getParameter("datepicker");
pageContext.setAttribute("str", str); // store str in page scope under name str
%>
然后,您可以安全地访问JSP文件中的${str}
。
在JSTL中,不可能在表达式中使用scriptlet变量。此外,您不需要使用scriptlet。
您需要导入在JSP 中创建的bean类
<%@ page import="com.beans.Ref_log_current" %>
您可以访问类似的参数
<jsp:useBean id="ref" class="com.beans.Ref_log_current" scope="page"/>
<c:out value="${ref.refarray_vac1(param.datepicker)}"/>