참조 : http://www.ibm.com/developerworks/edu/j-dw-java-jsf1-i.html

JSP의 EL은 JavaBean 스펙에 따른 게터, 세터만 사용하는데 비해, JSF의 universal EL은 다른 메소드 호출도 됩니다.

<table>
<tr>
<td><h:outputLabel value="First Number" for="firstNumber" /></td>
<td><h:inputText id="firstNumber"
value="#{calculator.firstNumber}" required="true" /></td>
<td><h:message for="firstNumber" /></td>
</tr>
<tr>
<td><h:outputLabel value="Second Number" for="secondNumber" />
</td>
<td><h:inputText id="secondNumber"
value="#{calculator.secondNumber}" required="true" /></td>
<td><h:message for="secondNumber" /></td>
</tr>
</table>

굵게 표시한 부분이 universal EL인데, 뒷단 빈의 속성 값과 연결해 줍니다.

<div>
<h:commandButton action="#{calculator.add}" value="Add" />
<h:commandButton action="#{calculator.multiply}" value="Multiply" />
<h:commandButton action="#{calculator.clear}" value="Clear" immediate="true"/>
</div>

그리고 위 코드에 있는 EL은 add(), multyply() 등의 메소드를 호출해줍니다. 모든 액션 메소드를 호출하기 전에 폼 검증 단계를 거치는데, immediate="true"를 사용하면 그 과정을 생략하고 바로 메소드를 호출합니다.

꺄오.. JSF 괜찮은거 같은데~