JSF中的Javascript-“;车身装载量=”;vs</重定向>;标签
我试图在我的一个JSF页面上使用javascript。不幸的是JSF中的Javascript-“;车身装载量=”;vs</重定向>;标签,javascript,jsf-2,onload,param,Javascript,Jsf 2,Onload,Param,我试图在我的一个JSF页面上使用javascript。不幸的是 <h:body onload="init('#{formBean.arrayAsString}')"> 一点也不叫。我发现,如果我在导航案例中添加/redirect标记以导航到页面,该函数将被加载。不幸的是,这导致了另一个问题,因为在导航中,我还传递了重要的f:param,以便formBean可以读取它。如果使用/redirect标记,则无法再读取参数值 如何在不使用重定向标记的情况下加载javascript i
<h:body onload="init('#{formBean.arrayAsString}')">
一点也不叫。我发现,如果我在导航案例中添加/redirect标记以导航到页面,该函数将被加载。不幸的是,这导致了另一个问题,因为在导航中,我还传递了重要的f:param,以便formBean可以读取它。如果使用/redirect标记,则无法再读取参数值
如何在不使用重定向标记的情况下加载javascript init函数?或者我可以通过重定向传递f:param值,但据我所知这是不可能的
我在下面发布导航方法:
首先,xhtml页面:
<h:selectOneMenu id="selectMenu" value="#{indexBean.name_id}">
<f:selectItems value="#{indexBean.myModelValues}" />
<f:ajax event="valueChange" render="button" execute="@this"/>
</h:selectOneMenu>
<h:commandButton id="button" value="Go to form Browse" action="form">
<f:param name="name" value="#{indexBean.name_id}" />
</h:commandButton>
请记住,此按钮也会由h:selectOneMenu的ajax事件重新呈现,以传递所选值
以及导航案例:
<navigation-rule>
<from-view-id>/index.xhtml</from-view-id>
<navigation-case>
<from-outcome>
form
</from-outcome>
<to-view-id>
/form.xhtml
</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
/index.xhtml
形式
/form.xhtml
重定向标记是一个新的附加组件,它启用了JavaScript初始化功能。如果ajax调用该操作,就会发生这种情况。让它成为非ajax操作
更新:根据您的问题更新,将
替换为
,使其成为非ajax操作。顺便说一句,在JSF2中,如果from结果已经等于to视图ID,则不再需要导航案例。删除整个
,您不需要它。您有“它是没有空格的h:body。您如何导航?使用faces-config.xml中的导航规则?或在action方法中返回字符串?或使用commandButton/commandLink action属性?我需要更改一些其他内容,但它可以工作-像往常一样感谢BalusC-巨大的支持。