jsf 1.2自定义标记,在辅助bean中读取参数

时间:2013-12-30 16:33:08

标签: jsf

我不明白如何将参数从我的自定义标记传递给辅助bean并读取它。

我想在自定义标记中设置一个属性,并在支持bean中读取此值,如下所示:

taglib: lstOperatorDomain.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:c="http://java.sun.com/jstl/core">
<body>

    <ui:composition>
    <h:form>
        <h:inputHidden value="#{textParameter}"/>       
        <h:commandButton value="Prueba" action="#{lstOperatorDomainController.prueba}"/>
    </h:form> 
    </ui:composition>

</body>
</html>

taglib的客户端: console.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:cs="http://www.sdd.com.ar/cuentasimple/facelets">
<body>

    <ui:composition template="/template.xhtml">
        <ui:define name="title">Console</ui:define>     
        <ui:define name="body">

            <cs:lstOperatorDomain textParameter="Testing123" />

            ...other things...

        </ui:define>

    </ui:composition>

</body>
</html>

重要的是,如何在我的后台bean lstOperatorDomainController中读取textParameter(“Testing123”)中的值?

我尝试了很多东西,在大多数情况下,我得到了'非法的集合操作语法'

Thnaks

1 个答案:

答案 0 :(得分:1)

您可以将参数作为命名组件参数传递:

<h:commandButton value="Prueba" action="#{lstOperatorDomainController.prueba}">
  <f:param name="my_param" value="#{textParameter}" />
</h:commandButton>