• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • paul wheaton
  • Liutauras Vilda
  • Ron McLeod
Sheriffs:
  • Jeanne Boyarsky
  • Devaka Cooray
  • Paul Clapham
Saloon Keepers:
  • Scott Selikoff
  • Tim Holloway
  • Piet Souris
  • Mikalai Zaikin
  • Frits Walraven
Bartenders:
  • Stephan van Hulst
  • Carey Brown

JSF Compatibility check with Microsoft Edge Browser

 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Dear Team,

Is JSF (used .xhtml in our project) compatible with Microsoft Edge Browser ? If so, then which version of JSF?

Thanks,
Utpal
 
Bartender
Posts: 7645
178
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Welcome to the Ranch.

JSF is a specification, and as such does not include a specific browser requirement. For a particular implementation, such as Apache MyFaces, this is a good question for which no answer seems to be readily available.

But JSF is server-side technology, so unless some of its tags create some crazy HTML or Javascript that is not widely supported -which would surprise me-, JSF applications should run on any recent browser, including Edge.
 
MyExamCloud Software Support
Posts: 755
3
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
JSF (Java Server Faces) is a server-side technology that is compatible with all modern web browsers, including Microsoft Edge. The JSF compatibility will depend on the servlet container you are using on the server side rather than the browser version. It is recommended to use the latest version of JSF for maximum compatibility and performance.

Typical JSF flow from a browser is like this:
1. The user clicks on a button or link on the web browser.
2. The browser sends a HTTP request to the server.
3. The Servlet Container on the server processes the request.
4. The Servlet Container uses JSF to generate HTML content.
5. The server sends a HTTP response back to the browser.
6. The browser displays the HTML content received from the server.

So, the final result will be HTML on client-side (browser).
 
Saloon Keeper
Posts: 28392
210
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
JSF perpetual moderator and junkie here.

Sorry, Mr. Moore. Since JSF Version 2, JSF has been both a server AND client technology.

JSF controls support AJAX, and they do so by using jQuery* on the client. It tends to be an older version, so if you want to manually use jQuery in a JSF View, you have to tweak it a little, but it's rare that you'd have the need to do so.

Since the basic JSF controls are almost all just JSF versions of their raw HTML equivalents, they're not much fun. So typically you'd add on a third-party JSF extension library.

Now, as to browser compatibility. Internet Explorer was really bad about that. They'd actually muck around with the JavaScript implementation on the client and that would result in breakage. Anything below IE 8 was especially bad. It wasn't until about IE 10 that you got civilised behavior out of IE.

On the JSF side, back then I was using JBoss RichFaces. However, RichFaces introduced breaking changes between releases and then became unsupported entirely.  

So when I ported Thomas Hinckle''s Gourmet Recipe Manager from Python to a Spring Boot app, I looked for a supported open-source alternative and of course, Apache tops that list.

Sadly, MyFaces/Tomahawk disappointed. Whoever designed it didn't seem to have ever worked with JSF, as its concepts were awkwardly different to stock JSF. I ended up discarding that project and re-writing it using PrimeFaces.

As of the time I created the Gourmetj app, PrimeFaces, IceFaces and Apache MyFaces were the only extensions I could find with community (free) versions. As I said, MyFaces was a disappointment. The choice between PrimeFaces and IceFaces was just a coin toss, I think.

Edge is, so far as I'm aware, more compliant with world standards than IE was, so I would be fairly confident it would work. I cannot actually confirm, since I haven't worked  with Windows since TurboTax went online, but I've heard no complaints.

You can do a quick check with Edge by taking it to https://gourmetj.mousetech.com . For a more thorough check pull the source from gogs.mousetech.com and build your own. Contact me for a prototype database for it to use, since I haven't yet bothered to make creating that as part of the build process. The main advantage of building your own copy (aside from having a good working example of a complex JSF/Spring Boot app) is that to access the parts of the app that allow creating and editing recipes  you need to log in to it. There's some neat UI stuff in there, but I don't allow outsiders to get to that part in the demo because that's my actual live recipe collection! And if just anyone could add recipes, they'd give a whole new meaning to the term "cooking up spam"!

-----
* jquery isn't mandated in the JSF spec, but it is a well-supported AJAX platform, so it's what all the implementers use.
 
Tim Moores
Bartender
Posts: 7645
178
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Sorry, Mr. Moore. Since JSF Version 2, JSF has been both a server AND client technology.

JSF controls support AJAX, and they do so by using jQuery* on the client.


Your terminology may vary, but in my book, support for AJAX isn't enough to call JSF anything other than a server-side framework.
 
Tim Holloway
Saloon Keeper
Posts: 28392
210
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Tim Moores wrote:

Sorry, Mr. Moore. Since JSF Version 2, JSF has been both a server AND client technology.

JSF controls support AJAX, and they do so by using jQuery* on the client.


Your terminology may vary, but in my book, support for AJAX isn't enough to call JSF anything other than a server-side framework.


Yo don't think that having the framework export and use JavaScript code on the client doesn't give it a client side?

Or have you fallen into the modern-day trap that a thing can be only one or the other?
 
Tim Moores
Bartender
Posts: 7645
178
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Tim Holloway wrote:You don't think that having the framework export and use JavaScript code on the client doesn't give it a client side?


I wouldn't use the term "having a client side", as that is a bit fuzzy. But yes, creating Javascript code that is used to interact with the server is IMO not enough to use a different label than "server-side framework", just like creating HTML form markup that can be used to interact with the server isn't enough.
 
Tim Holloway
Saloon Keeper
Posts: 28392
210
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I fail to comprehend.

To me, "client side" is logic that executes on the client and "server side" is logic that executes on the server. The distinction is especially important considering that the original question was "Is Edge a client that can handle JSF?" The answer is "probably", since Microsoft does have a history of ill-behaved clients, but Edge isn't noted for that.

Client side logic in JSF ranges from the explicit use of AJAX tags and attributes on a View Template to the undercover JavaScript operations done by the add-ons such as client-sortable table displays and auto-complete, client-side validation and more. Plus totally invisible stuff like possible CSS support features and the like.
 
Politics n. Poly "many" + ticks "blood sucking insects". Tiny ad:
Gift giving made easy with the permaculture playing cards
https://coderanch.com/t/777758/Gift-giving-easy-permaculture-playing
reply
    Bookmark Topic Watch Topic
  • New Topic