0

I try to update component panelgroup after clicking on commandLink, but it doesn't succeed. I have already tryed many ways but nothing helps. Please, say me, what should I do that to update panelgroup?

<h:panelGroup layout="block" id="content">
    <h:panelGroup layout="block" id="nav">
        <h:form id="itemsMenu">
            <h:commandLink value="View" update="workplace" actionListener="#{main.determineAction}">
                <f:param name="link" value="Viewing telephone book"/>
            </h:commandLink>
        </h:form>
    </h:panelGroup>
    <h:panelGroup id="workplace">
        <h:panelGroup layout="block" rendered="#{main.responseRendered}">
            <ui:include src="#{main.linkPage}"/>
        </h:panelGroup>
    </h:panelGroup>
</h:panelGroup>

Bean code:

@ManagedBean(name = "main")
@ViewScoped public class MainBean implements Serializable {

private static final long serialVersionUID = 1L;
private List<String>      listItemsMenu;
private String            linkPage;
private boolean           responseRendered = false;

public boolean isResponseRendered() {
  return responseRendered;
}

public void setResponseRendered(final boolean responseRendered) {
  this.responseRendered = responseRendered;
}

public String getLinkPage() {
  return linkPage;
}

public void setLinkPage(final String linkPage) {
  this.linkPage = linkPage;
}

public void determineAction(final ActionEvent event) {
  final Locale currentLocale = SessionBean.getCurrentLocale();
  final MessageManager messageManager = new MessageManager(currentLocale);
  final Map<String, String> mapParameters = FacesContext.getCurrentInstance()
        .getExternalContext().getRequestParameterMap();
  final String linkType = mapParameters.get(Constants.ATTRIBUTE_LINK_TYPE);
  if (linkType.equals(messageManager.getProperty(Constants.MESSAGE_MENU_VIEWING))) {
    linkPage = Constants.PAGE_VIEW;
  } 
  ...
  responseRendered = true;
  }
}
BalusC
  • 1,082,665
  • 372
  • 3,610
  • 3,555
Vlady_32
  • 13
  • 1
  • 3

1 Answers1

0

Ok well command link doesn't have an attribute update, so that should have thrown an error here:

<h:commandLink value="View" update="workplace">

I'm assuming you want an ajax solution it would be:

<h:commandLink value="View">
                <f:param name="link" value="Viewing telephone book"/>
<f:ajax render="workplace" listener="#{main.determineAction}" />
            </h:commandLink>
Sam Orozco
  • 1,258
  • 1
  • 13
  • 27