[英]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.