Hos*_*oka 2 eclipse jsf myfaces tomcat7
我正在使用eclipse 3.6.2(Helios),Tomcat 7,MyFaces 1.2.9
当我将f:param用于h:commandLink时我没有问题但是当我把f:param放入h:commandButton时它不起作用.有什么问题 ?
这个样本工作正常:
<h:commandLink value="Click here" action="#{myBean.action}">
<f:param name="parameterName1" value="parameterValue1" />
<f:param name="parameterName2" value="parameterValue2" />
</h:commandLink>
Run Code Online (Sandbox Code Playgroud)
但事实并非如此
<h:commandButton value="Click here" action="#{myBean.action}">
<f:param name="parameterName1" value="parameterValue1" />
<f:param name="parameterName2" value="parameterValue2" />
</h:commandButton>
Run Code Online (Sandbox Code Playgroud)
在JSF 1.x中,<f:param>仅支持<h:commandLink>,<h:outputLink>并且<h:outputFormat>,不是<h:commandButton>.该支持仅适用于JSF 2.0及更高版本.
您至少有4个选项:
请<h:commandLink>改用.如有必要,使用CSS将其设计为看起来像一个按钮.请参阅JSF commandButton URL参数的示例.
使用<f:attribute>或<f:setPropertyActionListener>代替.另见JSF中的通信.
将它们作为方法参数传递action="#{myBean.action('param1', 'param2')}".Tomcat 7是一个servlet 3.0容器,支持EL 2.2,后者又支持传递方法参数.您只需要确保web.xml声明符合Servlet 3.0.另请参见在JSF 1.2中使用EL调用参数的方法.
升级到JSF 2.0.它比JSF 1.x提供了许多优势.另请参阅从JSF 1.2迁移到JSF 2.0和JSF 2.0中的通信.
| 归档时间: |
|
| 查看次数: |
6123 次 |
| 最近记录: |