session属性不能与usebean值一起使用

f2uvfpb9  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(390)

我目前正在创建一个使用javaservlet和jspx页面的web应用程序。我创建了一个java类,当调用该类时,该类带有一个参数,该类是lessonselection(int owner)。我知道不能使用带有参数的bean,所以我用参数创建了该类的一个对象,然后将其添加到会话中,然后在usebean中使用该会话属性。
我出现一个错误,说“usebean类属性${selected}的值无效”
usebean代码如下。

<jsp:useBean class="${selected}" id="timetable" scope="session"/>

下面是java代码。

HttpSession session = request.getSession(true);
session.setAttribute("username", user);
session.setAttribute("id", id);
selected = new LessonSelection(id);
session.setAttribute("selected", selected);
dispatcher = this.getServletContext().getRequestDispatcher("/LessonTimetableView.jspx");

如果你还需要我写的代码,尽管问谢谢。
编辑1:
我想我应该检查它是否真的被添加到session属性中,并且它被添加了。它印成“模型”。lessonselection@1457de3'. 它仍然显示相同的错误。

r7xajy2e

r7xajy2e1#

这个 classjsp:useBean 必须是属性的package+类!假设你的 LessonSelection 位于包中 com.test . 代码如下:

<jsp:useBean class="com.test.LessonSelection" id="timetable" scope="session"/>

编辑1
试试这个:

<jsp:useBean type="com.test.LessonSelection" id="timetable" scope="session"/>

可以看出,使用类型,jsp不会为您的应用程序示例化它,它只会从给定范围内给定类型的bean中进行查看。看这里。

相关问题