• PrettyFaces


    PrettyFacesÊÇÒ»¸ö¿ªÔ´»ùÓÚ¹ýÂËÆ÷£¨Filter£©µÄServletsÀ©Õ¹ £¬¶ÔJavaServer Faces ¨C JSF 1.1, 1.2ºÍ2.0ÌṩÁËÔöÇ¿Ö§³Ö¡£Äܹ»ÓÃÓÚ´´½¨±ãÓÚÊéÇ©Êղء¢ËÑË÷ÒýÇæÓѺõÄÍøÖ·¡£PrettyFacesÓÅÑŵؽâ¾öÁË¡°RESTful URL¡± ÎÊÌ⣬°üÀ¨ÕâÑùһЩÌØÐÔÈ磺

    URL Rewriting ¡ª Replace ugly URLs: ¡°/faces/page.jsf¡± with pretty, SEO-friendly, human URLS: ¡°/optimized/page/¡±; The client browser never sees your original URLs, even in the source-HTML
    Dynamic view IDs ¡ª Now with dynamic view ID mapping for URLs (through El method expressions,) you can show different views based on run-time conditions, effectively de-coupling the URL from the JSF view.
    Page-load actions ¡ª Call one or more action-methods, at one or more phases, before rendering a view.
    Managed parameter parsing ¡ª HTTP parameters parsed from URLs are stored in managed beans, simply get a reference to your parameter bean for easy access from other Java classes.
    Navigation by ID ¡ª Define your page IDs in one place, reference them easily in action-methods and components, using standard JSF navigation techniques.
    Integrated validation ¡ª For URL and query-parameters, able to re-use existing JSF validator objects.
    Easy to configure ¡ª Requires absolutely minimal configuration; may be enabled using XML or annotations.
    µã»÷´ÎÊý   ¹Ù·½Ö÷Ò³¡¾¹Ù·½Ö÷Ò³¡¿   ÏÂÔصØÖ·¡¾ÏÂÔصØÖ·¡¿

    ÍøÓÑÁôÑÔ/ÆÀÂÛ

    ÎÒÒªÁôÑÔ/ÆÀÂÛ

    Ïà¹Ø¿ªÔ´ÏîÄ¿

    vaadin:vaadinÊÇÒ»¸öÓÃÓÚ´´½¨ÅÖ¿Í»§¶ËWebÓ¦ÓóÌÐòµÄJava¿ò¼Ü¡£ÓµÓлùÓÚGWTʵÏֵĸ÷Öֿؼþ£¬ËùÓдúÂëÈ«²¿²ÉÓô¿JavaʵÏÖ£¬²»ÐèÒª±àдÈκÎJavaScript´úÂ룬ûÓи´ÔÓµÄÅäÖ㬿ìËÙ£¬Ò×ÓÚÀ©Õ¹ºÍά»¤¡£
    Pushlets:PushletsÊÇÒ»¸ö»ùÓÚHTTPµÄ·¢²¼/¶©ÔÄ¿ò¼Ü£¬ËüʵÏÖÁËÒ»ÖÖÄܹ»Ö±½Ó´Ó·þÎñ¶ËJava¶ÔÏóÖ÷¶¯·¢ËÍÊý¾Ý¸øä¯ÀÀÆ÷¶ËµÄHTMLÒ³Ãæ¶ø²»ÐèҪʹÓà Java applets»ò²å¼þµÄ»úÖÆ¡£
    Nibiru Framework: NibiruÊÇÒ»¸öJava·þÎñÆ÷¶Ë¿ª·¢¿ò¼Ü£¬ÒÔ·½±ãÄ£¿é»¯Ó¦ÓóÌÐòµÄ´´½¨ÎªÄ¿±ê¡£ËüµÄÌØÐÔ°üÀ¨£º

    Ϊ²»Í¬µÄ¼¼ÊõÌṩÁËÒ»¸ö³éÏó²ã£¬ÒÔ±ÜÃâñîºÏ
    ÌṩһЩ³£ÓõĹ²Í¬·þÎñ×é¼þ±ÈÈ磺CRUDs£¬±¨±í£¬¹¤×÷Á÷£¬ÊÂÎñ¹ÜÀí£¬°²È«ºÍ¹ú¼Ê»¯
    ϵͳÌṩ¶¯Ì¬¸üлúÖÆ£¬ÒÔÔÊÐíÈȲå°Î¡£
    ʵʩÓÐÀûÓÚÔÚÒ»¸ö½á¹¹»¯µÄ·½Ê½½â¾öÎÊÌâµÄģʽ¡£²»¹ýÒª±ÜÃâÇ¿ÖÆÓû§Ö´ÐÐÒ»¸ö¸ø¶¨µÄ½â¾ö·½°¸¡£
    ´Ù½ø½âñîÄ£¿éÖ®¼äµÄͨÐÅ¡£
    ±ÜÃâÍƵ¹ÖØÀ´¡£´´½¨³éÏó²ã£¬µ«¾¡¿ÉÄÜʹÓÃÏÖÓеļ¼Êõ¡£

    ÆäʵÏÖ»ùÓÚÏÖÓеÄÐí¶à¼¼Êõ£¬±ÈÈ磺OSGi, Vaadin, SpringºÍHibernate
    Aurora:AuroraÊÇÒ»¸ö¿ªÔ´µÄ,¿ÉÅäÖõģ¬ÍêÈ«ÃæÏò¶ÔÏóµÄMVC¿ò¼Ü¡£AuroraµÄform¿ØÖÆÆ÷ÓõÄÊÇSpring¿ò¼Ü.
    Pustefix:PustefixÊÇÒ»¸öwebÓ¦ÓóÌÐò¿ò¼Ü.Ëü°üº¬Ò»¸ö»ùÓÚXML/XSLTµÄÊÓͼÉú³ÉϵͳÓëÒ»¸öÇåÎúMVCģʽµÄºó¶Ëϵͳ.ǰ̨UI¿ÉÒÔÀûÓÃXSLTÄ£°å¹¹½¨²¢¿É°üº¬²¿·ÖµÄHTML»òXML´úÂë.
    Play Framework:Play FrameworkÊÇÒ»¸ö¹¦ÄÜÍêÕûµÄJava Web¿ª·¢¿ò¼Ü¡£²ÉÓÃRESTful¼Ü¹¹Éè¼Æ£¬¼ò±ãÁé»î¡£Play FrameworkʹÓÃMVCģʽ×÷ΪWeb²ã£¬¼¯³ÉHibernate¹ÜÀí³Ö¾Ã²ã£¬Play Framework»¹Ê¹ÓÃÒ»¸ö»ùÓÚGroovyµÄÄ£°åÒýÇæ¡£
    firefly: ¾«ÓÚÐÄ£¬¼òÓÚÐΡ£fireflyÓ¦ÓóÌÐò¿ò¼Ü¡£
    fireflyÊÇÒ»¸ö×·Çó¸ßÐÔÄܵÄÓ¦ÓóÌÐò¿ò¼Ü£¬ÐÔÄÜ´ó·ù³¬Ô½spring3¡¢struts2µÈ£¬ÏêÇéÇë¿´ÐÔÄܲâÊÔ±¨¸æ
    ÁãÒÀÀµ£¬½ö½öÒÀÀµÓÚjdk
    ¾«¼ò¡¢ÇáÁ¿¡¢ÎÞÇÖÈë
    core°üº¬IOC¡¢MVC¡¢InterceptorµÈ³£Óù¦ÄÜ
    ʹÓüòµ¥£¬»ùÓÚÔ¼¶¨ÓÅÓÚÅäÖõÄ˼Ï룬¿ÉÍêȫʹÓÃAnnotation·½Ê½ »òAnnotationºÍXML»ìºÏ·½Ê½½øÐÐÅäÖÃ
    Swingweb:SwingwebÊÇÒ»¸öweb¿ò¼Ü,ËüÄܹ»ÔÚÒ»¸öWebÈÝÆ÷ÖвÙ×÷AWT/SwingÓ¦ÓóÌÐò²¢°ÑËü×÷Ϊһ¸ö´¿HTML/CSS/javascriptµÄWebÓ¦ÓóÌÐò³ÊÏÖ¸øä¯ÀÀÆ÷.
    LazyJ:LazyJÊÇÒ»¸öJava WebÓ¦ÓóÌÐò¿ª·¢¿ò¼Ü¡£
    Waffle:WaffleÊÇÒ»¸öÀàËÆÓÚRailsµÄWeb¿ò¼ÜÖ§³Ö»ùÓÚPOJOµÄActions,ÒÀÀµ×¢Èë,²¢ÇÒËüûÓÐÒÀÀµÈκÎXMLÅäÖÃÎļþ¡£²ÉÓÃwaffle¿ª·¢Ó¦ÓóÌÐò½«±ÈÆäËüWeb¿ò¼Ü¸ü¼Ó¼òµ¥£¬¶øÇÒÒ×ÓÚ²âÊÔ¡£ÀûÓÃWaffle¿ò¼ÜÀ´¿ª·¢WebÓ¦ÓóÌÐòÖ»ÐèÒªÖªµÀÈý¼þÊÂÇ飺 *.Actions - ÔÚWaffle¿ò¼ÜÖеÄaction²»ÐèÒª¼Ì³Ð»òʵÏÖÈκÎÌض¨µÄÀà»ò½Ó¿Ú¡£ÒòΪһ¸öaction¾ÍÊÇÒ»¸ö(Pojo)¡£ *.Events - ÔÚWaffle¿ò¼ÜÖÐÒ»¸öʼþ¶ÔÓ¦ActionÀàÖеÄÒ»¸ö·½·¨¡£Ê¹ÓÃÈκη½·¨¿ÉÒÔ²»¹ÜËüµÄ±ê¼Ç(signature)»ò·µ»ØÀàÐÍ¡£Waffle½«»á¸ù¾ÝʼþµÄ·µ»Ø×÷³ö²»Í¬µÄÏìÓ¦¡£ *.Registrar - RegistrarÊÇÄãҪע²áActionsÓëÆäËü¹«¹²×é¼þµÄµØ·½¶øµ±Ç°´ó¶àÊýweb¿ò¼ÜÐèÒªÄãµÄÓ¦ÓóÌÐò´´½¨Ìض¨µÄXMLÎļþÀ´×öÕâЩʼþ¡£Ê¹ÓÃWaffle¿ÉÒÔÈÃÄã°Ñ¸ü¶àµÄʱ¼ä·¢ÔÚ¿ª·¢³ÌÐòÂß¼­ÉÏ¡£ »¹¿ÉÒԺܷ½±ãµØÀ©Õ¹WaffleÀ´Ìí¼Ó¶ÔAJAXµÄÖ§³Ö¡£