Adaptive Educational Hypermedia Systems provide an alternative to the "one-size-fits-all" approach to web-based learning. It aims at enhancing e-learning experience with adaptive capabilities to accommodate for the different learning preference and learning aptitude of individual learner. In this paper, we discuss an Ontology-based Framework for Personalized Adaptive Learning (OPAL). Through the development of OPAL, we implemented an online Java programming course, which provides adaptive features through an ontology model and user model relating to user preference, progress and performance. The evaluation with students shows that the adaptive e-learning framework is more effective for university students who have online learning experience.