Jsf 在所有按钮单击时调用转换器

Jsf 在所有按钮单击时调用转换器,jsf,converter,Jsf,Converter,我使用JSF2.0和PrimeFaces3.4.1 以下是我的要求 我有一个h:SelectOne菜单来填充用户列表。用户是一个必填字段,我需要选择该用户,然后单击Submit按钮将该用户传递给支持bean。我在页面上还有其他按钮。我已经实现了一个自定义转换器,将选择转换为相应的用户对象模型。只有在单击Submit按钮时,才应完成转换,并将所选用户提交到支持bean 但是我的转换器“techLeadConverter”方法被调用,用于所有的按钮点击,甚至当我点击菜单项从页面导航时 如何限制仅在单

我使用JSF2.0和PrimeFaces3.4.1

以下是我的要求

我有一个h:SelectOne菜单来填充用户列表。用户是一个必填字段,我需要选择该用户,然后单击Submit按钮将该用户传递给支持bean。我在页面上还有其他按钮。我已经实现了一个自定义转换器,将选择转换为相应的用户对象模型。只有在单击Submit按钮时,才应完成转换,并将所选用户提交到支持bean

但是我的转换器“techLeadConverter”方法被调用,用于所有的按钮点击,甚至当我点击菜单项从页面导航时

如何限制仅在单击提交按钮时调用转换器

以下是我的声明

XHTML页面
将这些按钮换成不同的形式。或者,更好的做法是,不要使用命令链接/按钮进行页面到页面的导航,而是使用普通的链接/按钮

<h:selectOneMenu id="technicalLeads" 
    value="#{resourceMB.technicalLead}" 
    converter="#{techLeadConverter}"
    required="#{not empty param[assignResource.clientId]}"
    requiredMessage="#{bundle.TechLeadMandatory}">

   <f:selectItem itemLabel="Select Technical Lead" itemValue=""></f:selectItem>
   <f:selectItems value="#{resourceMB.technicalLeadList}" var="techLead"
      itemValue="#{techLead}"
      itemLabel="#{techLead.lastName}, #{techLead.firstName}">
   </f:selectItems>
</h:selectOneMenu>