2011-11-14 81 views
0

好的,所以基本上我有一个带有支持FragmentBean的jspf模板文件,我希望在同一个请求页面范围内包含多次。当我包含这个模板时,我给它传递了一个不同的参数值,这样我就可以识别出我正在模板中处理哪个实例,并将数据正确存储在会话映射中。我遇到的问题是我对此模板包含的一个实例执行的任何操作都适用于所有其他操作。因此,例如,当我单击按钮隐藏或取消隐藏模板内的面板时,所有包含的实例也隐藏并取消隐藏相应的隐藏面板。这使我意识到它不是创建新的支持bean实例。看起来好像我可能滥用jsp:include,但是如何获得期望的代码重用,多次包含单个jsp文件?多次包含一个jsp文件

我只限于JSF 1.2,JSTL 1.1和JBoss 4.0.4。所以没有RichFaces AJAX技巧。是的,我意识到我们需要升级。又一次战斗。

回答

3

因为它正在多次使用相同的实例,因此任何事件或操作都会更新特定的托管bean,并且将相同的信息反映到您包含页面的任何位置。

当您包含多次时,并不意味着每次都有新的实例。

你可以做的是传递参数来确定你所在的位置,然后做一些功能。

另一个窍门是声明具有不同会话变量的多个声明。

+0

我正在走这条路线来解决这个问题,我有一些问题。我在这里发布了我的关注问题:http://stackoverflow.com/questions/8228823/jsf-accessing-backing-map-object – Nikordaris