가장 많이 묻는 면접 질문과 답변 & 온라인 테스트
면접 준비, 온라인 테스트, 튜토리얼, 라이브 연습을 위한 학습 플랫폼

집중 학습 경로, 모의고사, 면접 준비 콘텐츠로 실력을 키우세요.

WithoutBook은 주제별 면접 질문, 온라인 연습 테스트, 튜토리얼, 비교 가이드를 하나의 반응형 학습 공간으로 제공합니다.

Prepare Interview

모의 시험

홈페이지로 설정

이 페이지 북마크

이메일 주소 구독
/ 면접 주제 / RichFaces
WithoutBook LIVE Mock Interviews RichFaces Related interview subjects: 20

Interview Questions and Answers

Know the top RichFaces interview questions and answers for freshers and experienced candidates to prepare for job interviews.

Total 26 questions Interview Questions and Answers

The Best LIVE Mock Interview - You should go through before interview

Know the top RichFaces interview questions and answers for freshers and experienced candidates to prepare for job interviews.

Interview Questions and Answers

Search a question to view the answer.

Freshers / Beginner level questions & answers

Ques 1

What is RichFaces?

RichFaces is a JSF component library that consists of two main parts: AJAX enabled JSF components and the CDK (Component Development Kit). RichFaces UI components are   divided into two tag libraries a4j: and rich:. Both tag libraries offer out-of-the-box AJAX enabled JSF components. The CDK is a facility for creating, generating and testing you own rich JSF components.
  • A full set of AJAX enabled components in two libraries
    • a4j: page centric AJAX controls
    • rich: self contained, ready to use components
  • Client-side validation, expanding JSR 303 Bean Validation all the way to the browser.
  • Advanced queueing to match the high performance requirements of real world enterprise applications.
  • Push component upgrades including JavaMessaging Service (JMS) integrations, and various transport mechanisms based on browser support.
  • Our own Component Development Kit (CDK).
  • Comprehensive documentation covering development best practices, and component details.
  • Detailed and automated testing facilities for components, actions, listeners, and pages.
  • Broad cross-browser support
  • Large and active community at its foundation!!
복습용 저장

복습용 저장

이 항목을 북마크하거나, 어렵게 표시하거나, 복습 세트에 넣을 수 있습니다.

내 학습 라이브러리 열기
도움이 되었나요?
Add Comment View Comments
Ques 2

What are the basic configurations of web.xml for Rich Faces?

Configuration of web.xml while you are using RichFaces in your application:

    <context-param>
      <param-name>org.richfaces.CONTROL_SKINNING</param-name>
      <param-value>enable</param-value>
    </context-param>
    <context-param>
        <param-name>org.richfaces.LoadStyleStrategy</param-name>
        <param-value>ALL</param-value>
    </context-param>
    <context-param>
        <param-name>org.richfaces.LoadScriptStrategy</param-name>
        <param-value>ALL</param-value>
    </context-param>
    <filter>
        <display-name>RichFaces Filter</display-name>
        <filter-name>richfaces</filter-name>
        <filter-class>org.ajax4jsf.Filter</filter-class>
        <init-param>
            <param-name>maxRequestSize</param-name>
            <param-value>999999999</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>richfaces</filter-name>
        <servlet-name>Faces Servlet</servlet-name>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>INCLUDE</dispatcher>
    </filter-mapping>
복습용 저장

복습용 저장

이 항목을 북마크하거나, 어렵게 표시하거나, 복습 세트에 넣을 수 있습니다.

내 학습 라이브러리 열기
도움이 되었나요?
Add Comment View Comments
Ques 3

Give some examples of RichFaces Components.

Some components of RichFaces:
<rich:panel>
<rich:dataTable>
<rich:toolTip>
<rich:modalPanel>
<rich:separator>
<rich:spacer>
<rich:togglePanel>
<rich:tabPanel>
<rich:collapsiblePanel>
<rich:tooltip>
<rich:fileUpload>
<rich:calendar>
<rich:select>
<rich:tree>
복습용 저장

복습용 저장

이 항목을 북마크하거나, 어렵게 표시하거나, 복습 세트에 넣을 수 있습니다.

내 학습 라이브러리 열기
도움이 되었나요?
Add Comment View Comments
Ques 5

What is a4j:commandLink in RichFaces?

The a4j:commandLink combines the standard h:commandLink with our own a4j:ajax. This not only reduces typing, but also inherits all a4j:ajax special options.
<a4j:commandLink value="#{constants.Label_DateUploaded}" action="#{handler.tableHeaderListener}" ajaxSingle="true" reRender="claimDocTable" onclick="loadClaimDocs()" styleClass="tableHeaderTxt" oncomplete="completeClaimRender()">
       <f:setPropertyActionListener target="#{handler.sortField}" value="#{constants.Label_DateUploaded}"/>                                            
 </a4j:commandLink>
복습용 저장

복습용 저장

이 항목을 북마크하거나, 어렵게 표시하거나, 복습 세트에 넣을 수 있습니다.

내 학습 라이브러리 열기
도움이 되었나요?
Add Comment View Comments
Ques 6

What is rich:tooltip in RichFaces?

The rich:tooltip component creates a small non-modal pop-up that can be used to display additional information for nearly anything on the page.

<rich:toolTip id="ttBtnUploadSelectedDoc" for="helpBtnUploadSelectedDocID" layout="block">
        <h:outputLabel styleClass="tooltipSpan">Use this to upload the documents selected for upload and their document properties to the document repository.<p>Shortcut: CTRL+SHIFT+U</p></h:outputLabel>
</rich:toolTip>
복습용 저장

복습용 저장

이 항목을 북마크하거나, 어렵게 표시하거나, 복습 세트에 넣을 수 있습니다.

내 학습 라이브러리 열기
도움이 되었나요?
Add Comment View Comments

Intermediate / 1 to 5 years experienced level questions & answers

Ques 7

How to pass parameters to a4j:commandButton?

See the example to pass parameters to a4j command button:
<a4j:commandButton ajaxSingle="true" value="Update" reRender="name, job,
            out"  status="commonstatus">
            <a4j:actionparam name="n" value="Mark Joe"  assignTo="#{userBean.name}" />
            <a4j:actionparam name="j" value="WithoutBook"  assignTo="#{userBean.job}" />
</a4j:commandButton>
a4j:actionparam is the name by which you can get the value in your Handler/Bean.
복습용 저장

복습용 저장

이 항목을 북마크하거나, 어렵게 표시하거나, 복습 세트에 넣을 수 있습니다.

내 학습 라이브러리 열기
도움이 되었나요?
Add Comment View Comments
Ques 8

How to send and ajax request?

There are different ways to send Ajax requests from your JSF page. For example you can use <a4j:commandButton>  ,  <a4j:commandLink><a4j:poll>   or  <a4j:support>  tags or any other.
All these tags hide the usual JavaScript activities that are required for an  XMHTTPRequest object building and an Ajax request sending. Also, they allow you to decide which components of your JSF page are to be re-rendered as a result of the Ajax response (you can list the IDs of these components in the  "reRender"  attribute).
복습용 저장

복습용 저장

이 항목을 북마크하거나, 어렵게 표시하거나, 복습 세트에 넣을 수 있습니다.

내 학습 라이브러리 열기
도움이 되었나요?
Add Comment View Comments
Ques 9

How to upload files in richfaces?

Using rich:fileUplaod.
rich:fileUpload is a component which provides files upload functionality and extends functionality of standard input with type=file.
We can have different characteristics with this component like: allowed file types, maximum files quantity, and immediate upload.
It supports immediate upload as soon as a file is selected with this component.
<rich:fileUpload  id="fileUploadId"
 autoclear="true"
 uploadListClass="uploadList"
 fileEntryClass="fileEntry"
 allowFlash="auto"
 styleClass="richFileUpload"
 fileUploadListener="#{handler.documentUpload}"
 maxFilesQuantity="#{constants.FILE_UPLOADLIMIT}"
 required="true"
 immediate="true"
 listHeight="1px"
 listWidth="71px"
 onupload="onFileUploadClick();"
 addControlLabel="#{constants.Label_Browse}"
 immediateUpload="true"
 noDuplicate="true"
 onadd="addFileListener(event)">
<a4j:support event="onuploadcomplete" immediate="true" reRender="hiddenVal,docTableId,uploadErrorGrid,docSelectedMsgID,exceptionMessageGrid"/>
</rich:fileUpload>
복습용 저장

복습용 저장

이 항목을 북마크하거나, 어렵게 표시하거나, 복습 세트에 넣을 수 있습니다.

내 학습 라이브러리 열기
도움이 되었나요?
Add Comment View Comments
Ques 10

What is a4j:param in RichFaces?

The a4j:param component extends the regular f:param tag. The primary extension is the ability to assign a value to a property on a managed bean directly using the assignTo attribute. Using this feature you can update model values without invoking a single line code.

<a4j:commandButton value="Update Name" render="rep">
    <a4j:param value="WithoutBook" assignTo="#{bean.name}" />
</a4j:commandButton>
복습용 저장

복습용 저장

이 항목을 북마크하거나, 어렵게 표시하거나, 복습 세트에 넣을 수 있습니다.

내 학습 라이브러리 열기
도움이 되었나요?
Add Comment View Comments
Ques 11

What is a4j:status in RichFaces?

The a4j:status component is an indicator of an Ajax request. It has two states: start and stop. The start state indicates that an Ajax request is in progress. When an Ajax Response is returned, the component switches to the stop state. Give a loading progress on a ajax call:

<rich:modalPanel id="statusModalPanelId" autosized="true" resizeable="false">

        <h:graphicImage  value="/views/images/loading.gif"/>

        <a4j:status id="statusId" onstop="Richfaces.hideModalPanel('statusModalPanelId');">

                <f:facet name="start"></f:facet>

        </a4j:status>

 </rich:modalPanel>

복습용 저장

복습용 저장

이 항목을 북마크하거나, 어렵게 표시하거나, 복습 세트에 넣을 수 있습니다.

내 학습 라이브러리 열기
도움이 되었나요?
Add Comment View Comments
Ques 12

What is rich:messages in RichFaces?

rich:messages is an extension for a standard h:messages component. In addition to what the standard component provides, rich:messages:

<rich:messages ajaxRendered="true" />
복습용 저장

복습용 저장

이 항목을 북마크하거나, 어렵게 표시하거나, 복습 세트에 넣을 수 있습니다.

내 학습 라이브러리 열기
도움이 되었나요?
Add Comment View Comments
Ques 13

What is rich:dataGrid in RichFaces?

The rich:dataGrid component accepts the same data sources as other iteration components and renders them in a grid format, the same way as the h:PanelGrid component does for in-line data. To define the grid's properties and styles, use the same definitions as for the h:panelGrid component.

<rich:dataGrid value="#{bean.allEmployees}" var="emp" columns="3" elements="9" width="600px" border="0">
      <rich:panel bodyClass="pbody">
       <f:facet name="header">
               <h:outputText value="#{emp.name} #{emp.code}"></h:outputText>
          </f:facet>
          <h:panelGrid columns="2">
               <h:outputText value="Salary:" styleClass="label"></h:outputText>
복습용 저장

복습용 저장

이 항목을 북마크하거나, 어렵게 표시하거나, 복습 세트에 넣을 수 있습니다.

내 학습 라이브러리 열기
도움이 되었나요?
Add Comment View Comments
Ques 14

What is rich:calendar in RichFaces?

The rich:calendar component allows you to select a date using a monthly calendar widget. It is possible to use the component in a popup or inline mode. In popup mode the calendar is initially rendered as an input for date with a button on the right side to trigger the popup. For inline mode, the monthly calendar is rendered on the page initially.

<rich:calendar value="#{calendarBean.dateSelected}" id="calendar" locale="#{calendarBean.locale}" popup="#{calendarBean.popup}" datePattern="#{calendarBean.pattern}" showApplyButton="#{calendarBean.showApply}" cellWidth="24px" cellHeight="22px" style="width:200px" disabled="#{calendarBean.disabled}">
</rich:calendar>
복습용 저장

복습용 저장

이 항목을 북마크하거나, 어렵게 표시하거나, 복습 세트에 넣을 수 있습니다.

내 학습 라이브러리 열기
도움이 되었나요?
Add Comment View Comments

Experienced / Expert level questions & answers

Ques 15

What is <a4j:support> tag?

Sends an AJAX request based on a DHTML event supported by the parent component.  In this example, the AJAX request will  be triggered after the user types a character in the text box:
<h:inputText value="#{document.docOrigtor}" id="docClaimOrigId" binding="#{handler.docOrig}">
  <a4j:support actionListener="#{handler.createDocumentName}" event="onkeyup" reRender="docId"/>
</h:inputText>
Here, on keyup event it will call handler.createDocumentName method with ajax call and rendering docId value.
복습용 저장

복습용 저장

이 항목을 북마크하거나, 어렵게 표시하거나, 복습 세트에 넣을 수 있습니다.

내 학습 라이브러리 열기
도움이 되었나요?
Add Comment View Comments
Ques 16

How to control traffic in RichFaces?

Controlling traffic can be done using Queues mechanism.
Queues can be defined using <a4j:queue../>
3 types of queues are there: Named, Unnamed, and Global queue.
복습용 저장

복습용 저장

이 항목을 북마크하거나, 어렵게 표시하거나, 복습 세트에 넣을 수 있습니다.

내 학습 라이브러리 열기
도움이 되었나요?
Add Comment View Comments
Ques 18

How to different skins are runtime?

We can define an applications skin with EL expression like this:
Deine a session scoped skinBean and manage its currentSkin  property at runtime with your skin names values.  Every time a page is rendered, RichFaces will resolve the value in #{skinBean.currentSkin} to get the current skin.  Changing Skins should not be done via AJAX but with a full page refresh. A full page refresh will ensure that all CSS links are correctly updated based on the new skin.
복습용 저장

복습용 저장

이 항목을 북마크하거나, 어렵게 표시하거나, 복습 세트에 넣을 수 있습니다.

내 학습 라이브러리 열기
도움이 되었나요?
Add Comment View Comments
Ques 19

Tell me about a4j:outputPanel and ajaxRendered?

"ajaxRendered"  attribute of the  <a4j:outputPanel>  set to "true" allows to define the area of the page that will be re-rendered even if it is not pointed in the reRender attribute explicitly. It might be useful if you have an area on a page that should be updated as a response on any Ajax request.
복습용 저장

복습용 저장

이 항목을 북마크하거나, 어렵게 표시하거나, 복습 세트에 넣을 수 있습니다.

내 학습 라이브러리 열기
도움이 되었나요?
Add Comment View Comments
Ques 20

What is limitToList attribute?

"limitToList"  attribute allows to dismiss the behavior of the  <a4j:outputPanel>   "ajaxRendered" attribute.
limitToList = "true" means to update only the area(s) that mentioned in the "reRender"  attribute explicitly. All output panels with ajaxRendered="true" is ignored.
복습용 저장

복습용 저장

이 항목을 북마크하거나, 어렵게 표시하거나, 복습 세트에 넣을 수 있습니다.

내 학습 라이브러리 열기
도움이 되었나요?
Add Comment View Comments
Ques 21

What is the use of eventsQueue?

Attribute "eventsQueue" defines the name of the queue that will be used to order upcoming Ajax requests. By default, RichFaces does not queue Ajax requests. If events are produced simultaneously, they will come to the server simultaneously. JSF implementations (especially, the very first ones) does not guaranty that the request that comes first will be served or passed into the JSF lifecycle first. The order how the server-side data will be modified in case of simultaneous request might be unpredictable. Usage of eventsQueue attribute allows to avoid possible mess.
The next request posted in the same queue will wait until the previos one is not processed and Ajax Response is returned back if the  "eventsQueue"  attribute is defined.
In addition, RichFaces starts to remove from the queue "similar" requests. "Similar'"requests are the requests produced by the same event.
복습용 저장

복습용 저장

이 항목을 북마크하거나, 어렵게 표시하거나, 복습 세트에 넣을 수 있습니다.

내 학습 라이브러리 열기
도움이 되었나요?
Add Comment View Comments
Ques 22

How to handle request errors and session expire on client side?

Given an example below:
A4J.AJAX.onError = function(req, status, message){
    window.alert("Custom onError handler "+message);
}
A4J.AJAX.onExpired = function(loc, expiredMsg){
if(window.confirm("Custom onExpired handler "+expiredMsg+" for a location: "+loc)){
      return loc;
    } else {
     return false;
    }
}
복습용 저장

복습용 저장

이 항목을 북마크하거나, 어렵게 표시하거나, 복습 세트에 넣을 수 있습니다.

내 학습 라이브러리 열기
도움이 되었나요?
Add Comment View Comments
Ques 23

What is a4j:ajax?

a4j:ajax is one of our core behaviors, extending the base JSF 2.0 f:ajax tag. This tag triggers an Ajax request when the specified parent event is triggered.
<h:inputText value="#{userBean.name}">
    <a4j:ajax event="keyup" render="out" />
</h:inputText>
<h:outputText value="#{userBean.name}" id="out" />
복습용 저장

복습용 저장

이 항목을 북마크하거나, 어렵게 표시하거나, 복습 세트에 넣을 수 있습니다.

내 학습 라이브러리 열기
도움이 되었나요?
Add Comment View Comments
Ques 24

What is a4j:actionListener in RichFaces?

Use a4j:actionListener to register an ActionListener class on a parent action component. Multiple listener methods can be registered on an action components in this way.

The a4j:actionListener tag differs from the standard JSF tag in that it allows the listener to be attached in any of three ways:

  1. By listener method, using the listener attribute.
  2. By listener class, using the type attribute.
  3. By object binding, using the binding attribute.
<h:commandButton value="Update">
    <a4j:actionListener listener="#{bean.actionMethod}"/>
    <f:ajax render="messages"/>
</h:commandButton>
복습용 저장

복습용 저장

이 항목을 북마크하거나, 어렵게 표시하거나, 복습 세트에 넣을 수 있습니다.

내 학습 라이브러리 열기
도움이 되었나요?
Add Comment View Comments
Ques 25

What is a4j:jsFunction in RichFaces?

The a4j:jsFunction component creates a JavaScript function that allows you to send JSF Ajax requests from any JavaScript. You define the Ajax and JSF properties just like a4j:ajax, or a4j:commandButton, and a4j:jsFunction creates the JavaScript for you. The component sends a request using the standard JSF mechanisms. Note that this means a JSF form is required.

The following example shows how to use a4j:jsFunction to create a function named updateName. This is then called on mouseover of the different names. This triggers the full round trip Ajax request and renders the updated name.

<span onmouseover="updateAddress('WithoutBook')" onmouseout="updateAddress('')">WithoutBook</span>

<a4j:jsFunction name="updateAddress" render="showAddress">
    <a4j:param name="address" assignTo="#{bean.address}" />
</a4j:jsFunction>
복습용 저장

복습용 저장

이 항목을 북마크하거나, 어렵게 표시하거나, 복습 세트에 넣을 수 있습니다.

내 학습 라이브러리 열기
도움이 되었나요?
Add Comment View Comments
Ques 26

What is rich:tree in RichFaces?

The rich:tree component renders a tree control on the page. The most important tree features include the following:

  • Native support for Ajax operations
  • Support for ajax, client, and server switch types
  • Selection capabilities
  • Flexible look and feel
<rich:tree id="tree" nodeType="#{node.type}" var="node" value="#{bean.rootNodes}" toggleType="client" selectionType="ajax" selectionChangeListener="#{bean.selectionChanged}">
      <rich:treeNode type="country">#{node.name}</rich:treeNode>
      <rich:treeNode type="company" iconExpanded="/images/ctry.gif" iconCollapsed="/images/tree/disc.gif">#{node.name}</rich:treeNode>
      <rich:treeNode type="cd" iconLeaf="/images/tree/cd.gif">
           #{node.artist} - #{node.name} - #{node.year}
</rich:treeNode>
복습용 저장

복습용 저장

이 항목을 북마크하거나, 어렵게 표시하거나, 복습 세트에 넣을 수 있습니다.

내 학습 라이브러리 열기
도움이 되었나요?
Add Comment View Comments

Most helpful rated by users:

Copyright © 2026, WithoutBook.