【发布时间】:2009-06-30 10:48:24
【问题描述】:
我必须警告你:这个问题可能很愚蠢,但我现在似乎无法理解它。
我有两个托管 bean,比如说 A 和 B:
class A
{
private Date d8; // ...getters & setters
public String search()
{
// search by d8
}
}
class B
{
private Date d9; //...getters & setters
public String insert()
{
// insert a new item for date d9
}
}
然后我有两个 JSP 页面,pageA.jsp(搜索页面)和pageB.jsp(输入页面)。 我想做的是在 pageB 中放置一个 commandbutton 以便通过参数 d9 打开搜索页面 pageA > 不知何故,或者直接在 b.insert() 之后导航到 pageA。我想做的是在插入后显示搜索结果。
也许只是我看不到清晰、简单的解决方案,但我也想知道这里的最佳做法是什么......
我想到了这些可能的解决方案:
- 在 **B** 中包含 **A** 并将命令按钮与 **b.a.search** 链接
- 将 **d9** 作为 **hiddenInput** 传递并在 **A** 中添加新方法 **searchFromB**(丑陋!)
- 将两个 bean 合并为一个
【问题讨论】:
-
将日期(其长值)作为 URL 参数是否可以接受?这些 bean 的作用域是什么?他们有任何其他状态或目的吗?也就是说,为简洁起见,您是否删除了其他变量? A中除了去B还有其他导航结果吗?
-
这个场景(稍微)复杂一些,我想通过合并两个 bean 或将一个包含到另一个中来避免进一步纠结。我会考虑传递参数,正如你(和其他一些人)建议的那样,tnx。
标签: java jsf navigation