我有多个搜索表单,用于五个不同的数据库(表) 每个表单包含大约30-40个搜索字段,可以填写。 我需要所有Params作为GET-Params(因为SEO - 用于分页) 如何在没有在.xhtml文件中定义200个托管的情况下提交它们并获取它们 (我认为,用facesContext来获取它们是方法,如何接收它们)
谢谢!
答案 0 :(得分:0)
没有<f:viewParam>
,ExternalContext#getRequestParameterMap()
可以使用@ManagedProperty("#{param.name}")
。如果有问题的bean是请求作用域,您也可以在属性声明中使用@PostConstruct
。您最早只能使用String
方法而不是构造函数访问它们。你还需要为他们安装。
请注意,您以这种方式丢失了JSF内置转换和验证。您需要执行从Integer
到<f:viewParam>
的所有转换,并自行对所需参数进行所有验证,而不是让{{1}}完成其工作。
无关,200个参数非常多。甚至GET查询字符串都有its limits。视图是否包含50个有条件渲染/包含的表格?您确定不能将参数重用于多种用途,并且有一个通用参数指示其他参数必须如何解释?