You can’t. But you can use <h:outputText> for anonymous visitors (read-only) and <rich:inplaceInput> for known logged-in users (write-enabled.) Customize the inplaceInputTest.xhtml s:hasRole() parameter to give the proper boolean value on whether the logged-in user is an administrator or not of the field bound to the input.

Define a custom tag to replace <rich:inplaceInput>

/resources/WEB-INF/web.xml



.
.
.
  
    facelets.LIBRARIES
    /WEB-INF/compositions.taglib.xml
  

/resources/WEB-INF/compositions.taglib.xml




  http://mytaglib.com/jsf
  
    inplaceInput
    ../compositions/inplaceInput.xhtml
  

Below, evaluation of the rendered="" attribute decides which of the two elements appear at one time.

/view/compositions/inplaceInput.xhtml



  
  


Custom <mytaglib:inplaceInput> Usage

/view/inplaceInputTest.xhtml