我有一个.xhtml页面,由Tomcat中的faces servlet处理。对页面的GET请求看起来像这样/module.xhtml?mod=6。我需要验证整数参数'mod'。 'mod'是要在module.xhtml页面上显示的Module对象的ID。这是我在module.xhtml中所拥有的:
<f:metadata>
<f:viewParam validator="#{Modules.validate}" name="mod" value="#{Modules.currentModule}" />
</f:metadata>
如果模块ID未映射到有效模块,则验证器方法首先运行并执行HTTP重定向到模块选择页面。 Modules.currentModule的声明是:
public void setCurrentModule( int module_ID )
一切正常。我不确定的部分是如何在module.xhtml页面中显示所选模块。我已尝试在Modules类中执行类似的操作:
public Module getCurrentModule()
然后使用#{Modules.currentModule.name}
等。但这会产生转换错误。所以我的问题是双重的。如何在module.xhtml页面中显示所选模块,上述方法是实现此目的的最佳方式还是有更高效的机制?