0

我有一个通用按钮 jsp:

<wow:button id="addButton" iconClass="add16 icon16x16"
            action="#{managedbean.addNew}" type="submit" immediate="true"
            value="#{lblMsg.label_add }" />

<wow:button id="deleteButton" iconClass="iconCancel"
            action="#{managedbean.delete}" type="submit"
            value="#{lblMsg.label_delete }" />

这被包含在另一个jsp页面中

<wow:outputText value="#{locationBean.disclaimer}"></wow:outputText> <br />
<jsp:include page="buttons.jsp">

这个页面有一个被 EL 表达式使用的托管 bean 实例。我想将locationBean的这个实例传递给buttons.jsp。一种方法是在 jsp:include 中将参数值设置为 bean 名称并在 button.jsp 中使用 requestScope[beanName]。

有没有更好的办法?

编辑:哇是我们自己的 JSF 组件库。

4

1 回答 1

2

使用遗留 JSP,我认为没有更好的语义方法。但是,如果您更改 bean 的范围,您的方法可能会中断。另一种方法可能是使用 JSTL c:set

<c:set var="currentBean" value="#{locationBean}" scope="request" />
<jsp:include page="buttons.jsp" />

<h:commandButton action="#{currentBean.action}" />

但这可能会与巧合同名的另一个 bean 发生冲突。

于 2010-07-26T03:21:22.090 回答