奇怪的问题,但我需要找到答案。
有什么办法可以在JSP中管理托管bean吗?我会试着解释一下,我想做什么:
想象一下,我有JSP页面,例如,它被称为document.save.jsp。我有一些不同类型的文件。他们每个人都有自己的豆子。例如: 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};
}
%>
然后,我的按钮上有保存方法,可能就像:
<h:commandButton action="currentbean.save"/>
有什么方法可以存储有关bean的数据,这些数据会在这个按钮中使用吗?
感谢你的回复!
答案 0 :(得分:2)
为什么你没有第四个bean具有所有其他bean的属性,只是在给定文档类型的情况下调用相关方法?
即。 DocumentBean.save()将调用BillDocument.save()或OrderDocument.save()或......等。
而不是尝试在JSF页面中执行此操作。
答案 1 :(得分:1)
为什么没有一个超类,比如说Document
有save
方法,并将IF
语句放在这个方法中。
在JSF页面中,使用类似:
的内容<h:inputHidden id="docType" value="#{document.documentType}"/>
在创建新文档时填充此变量,然后在保存方法中使用它