【发布时间】:2012-10-11 22:00:15
【问题描述】:
我正在使用 JSF2.0 + Spring 3.0 构建一个应用程序。我的 bean 在这个应用程序中由 Spring 管理。
在这个应用程序中,我有一个包含 3 个 SelectOneMenuItems(JSF) 的表单
- 当用户选择第一个下拉框值时,它将填充第二个下拉框(因为我已在 EventChangeListener 中放置逻辑)
- 当用户从第二个下拉列表中选择值时,它将根据第二个下拉列表的选择填充第三个下拉列表
现在,当我提交表单时,它可以正常提交,但不会从框中删除值。
我在春季尝试了 request scope 但它产生了另一个问题,即当通过第一个下拉列表选择一个值时,比如说国家,我将值发送到省的下一个下拉列表(根据国家下拉列表填充省份selection) ,spring 认为它是一个新请求并刷新 bean,因此国家的下拉值被删除,我在填充省份时得到 NullPointerException。
我现在该怎么办我真的卡住了。请帮助
【问题讨论】:
-
aamir 当前接受的答案真的 解决了您的具体问题吗?还是您只是因为从众行为和/或高票数而接受它?我不做 Spring,但 aamir 的答案似乎根本不适用于 Spring 管理的 bean。您的具体问题必须通过使用不同的范围来解决,某种对话范围,如 JSF 中的“视图范围”和 CDI 中的“对话范围”。您可以在 Google 上找到如何在 Spring 中模拟 JSF 视图范围的示例。
标签: spring jakarta-ee spring-mvc jsf-2