1

我正在使用 Primefaces 数据表组件。此数据表组件在浏览器上动态创建一个隐藏字段。

<input type="hidden" id="formId:activitydescription_selection" name="formId:activitydescription_selection" autocomplete="off" value="" />

Primefaces数据表代码如下

<p:dataTable  id="activitydescription" var="type"
            value="#{activityBean.activityList}" rows="#{activityBean.rowNo}" rowKey="#{type.activitySchemeId}"
            selection="#{activityBean.activityDTO}"
            emptyMessage="No value found with given criteria"
            paginatorPosition="bottom" sortMode="single" paginator="#{empty activityBean.activityList ? 'false':'true' }"
            dynamic="true"
            paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}"
            rowIndexVar="rowIndex">

现在,当页面提交时,HIDV 认为在浏览器上动态创建的隐藏字段是一种黑客攻击的情况,从而重定向到错误页面,控制台日志为

org.hdiv.logs.Logger log INVALID_PARAMETER_NAME;/hseadmin/pages/secured/admin/Layout.xhtml;**formId:activitydescription_selection**;;0:0:0:0:0:0:0:1;0:0:0:0:0:0:0:1;anonymous

在我的 hdiv-config.xml 文件中,我修改了文件,以便 HDIV 忽略该字段出现的验证

<hdiv:paramsWithoutValidation>
         <hdiv:mapping url=".*"  parameters="formId:activitydescription_selection"/>
        </hdiv:paramsWithoutValidation>

但是没有运气仍然是相同的控制台错误,并且 HDIV 正在重定向到错误页面。有人可以帮我解决如何避免在 HDIV 上进行这些验证吗?

4

2 回答 2

0

尝试..

<property name="userStartParameters">  
<list>
  <value>hidden1Name</value>
  <value>hidden2Name</value>
</list>
</property>
于 2015-05-19T06:56:37.237 回答
0

HDIV 不支持 Primefaces 组件,仅支持标准 JSF 组件,例如<h:dataTable>.

http://www.hdiv.org/hdiv-documentation-single/doc.html

于 2015-05-19T09:12:57.293 回答