繁体   English   中英

JSF-托管Bean变量?

[英]JSF - managed bean in variable?

奇怪的问题,但我需要找到答案。

有什么方法可以在JSP中管理托管bean? 我会尝试解释,我想做什么:

想象一下,我有JSP页面,例如,称为document.save.jsp。 我有一些不同类型的文件。 每个人都有自己的bean。 例如: BillDocument.java,OrderDocument.java和ReportDocument.java

我的jsp中的BillDocument.java#{billdoc}
OrderDocument.java-> #{orddoc}
ReportDocument.java-> #{repdoc}

他们每个人都有方法save()。 在我的JSP中,我想调用此方法,但是我需要知道它是哪个文档。 在我看来,这种结构类似于:

<% String currentBean = ""; 
if(document == BillDocument){ 
   currentBean = #{billdoc};
}
if(document == OrderDocument){
   currentBean = #{orddoc};
}
if(document = ReportDocument){
   currentBean = #{repdoc};
}
 %>

然后,上面带有保存方法的Button可能会像这样:

<h:commandButton action="currentbean.save"/>

有什么办法可以存储关于bean的数据,该数据将在此按钮中使用?

感谢您的答复!

您为什么不拥有第四个bean,它具有所有其他bean的属性,并且仅在给定文档类型的情况下调用相关方法?

即DocumentBean.save()将调用BillDocument.save()或OrderDocument.save()或...等。

而不是尝试在您的JSF页面中执行此操作。

为什么不拥有一个超类,比如说拥有save方法的Document ,然后将IF语句放入该方法中。

在JSF页面中,使用类似以下内容的内容:

<h:inputHidden id="docType" value="#{document.documentType}"/>

在创建新文档时填充此变量,然后在save方法中使用它

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM