Buy online in few steps Questions by email
JExplorer provides a convenient Java API for integrating Microsoft Internet Explorer into Java applications as a Java Swing UI component in headless mode, so you can embed it into the UI to manipulate programmatically without specific knowledge of COM or the Microsoft Internet Explorer API.
JExplorer provides 3 components: a visual browser object for embedding in a Swing UI, a headless browser for running automated tests for Web applications in the background, and an Automation-based browser component which you can use without embedding in a Swing UI.
You can manage elements in a document, modify element attributes, apply element styles, register and listen to DOM events, fire an event on some element, manipulate data in the HTML form elements, etc.
With the JExplorer API, you can download HTML pages, navigate through them or to other pages, execute JavaScript code, set and get HTML content, prepare page for printing. Also it allows you to get access to advanced browser options, handle JavaScript errors and alert/confirmation JavaScript dialogs, create and display custom context Java menus instead of native ones, and many other things.
javax.el.ELException: /products/jni/layout/downloadWidget.xhtml: Error reading 'evaluationInfo' on type com.teamdev.site.jsf.beans.product.ProductPageHandler at com.sun.facelets.compiler.TextInstruction.write(TextInstruction.java:48) at com.sun.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:39) at com.sun.facelets.compiler.UILeaf.encodeAll(UILeaf.java:149) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:942) at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592) at teamdev.jsf.ai.renderView(SourceFile:49) at teamdev.jsf.cl.renderView(SourceFile:405) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:109) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266) at org.sevenhats.util.servlet.AbstractServletWrapper.service(AbstractServletWrapper.java:28) at org.sevenhats.jsf.impl.FacesServletWrapper.service(FacesServletWrapper.java:79) at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56) at org.sevenhats.web.common.FilterMappingFilter$FilterChainExtension.doFilter(FilterMappingFilter.java:82) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265) at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107) at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:110) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149) at org.sevenhats.web.common.FilterMappingFilter$FilterChainExtension.doFilter(FilterMappingFilter.java:93) at org.sevenhats.web.transaction.TransactionFilter.doFilter(TransactionFilter.java:63) at org.sevenhats.web.common.FilterMappingFilter$FilterChainExtension.doFilter(FilterMappingFilter.java:93) at com.teamdev.site.jsf.filter.NoCacheFilter.doFilter(NoCacheFilter.java:48) at org.sevenhats.web.common.FilterMappingFilter$FilterChainExtension.doFilter(FilterMappingFilter.java:93) at com.teamdev.site.jsf.filter.ForwardFilter.doFilter(ForwardFilter.java:55) at org.sevenhats.web.common.FilterMappingFilter$FilterChainExtension.doFilter(FilterMappingFilter.java:93) at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:301) at org.sevenhats.web.common.FilterMappingFilter$FilterChainExtension.doFilter(FilterMappingFilter.java:93) at teamdev.jsf.util.ResourceFilter.doFilter(SourceFile:93) at org.sevenhats.web.common.FilterMappingFilter$FilterChainExtension.doFilter(FilterMappingFilter.java:93) at org.sevenhats.web.common.FilterMappingFilter.doFilter(FilterMappingFilter.java:60) at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37) at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56) at org.sevenhats.web.common.WelcomeFileSupportFilter.doFilter(WelcomeFileSupportFilter.java:74) at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37) at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56) at org.sevenhats.web.common.UrlPathMappingSupportFilter.doFilter(UrlPathMappingSupportFilter.java:60) at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37) at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56) at org.sevenhats.web.impl.ScopeRegistrationFilter.doFilter(ScopeRegistrationFilter.java:56) at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37) at org.sevenhats.web.common.TargetBundleAwareServlet.service(TargetBundleAwareServlet.java:79) at org.eclipse.equinox.http.helper.ContextInitParametersServletAdaptor.service(ContextInitParametersServletAdaptor.java:34) at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37) at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:255) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:324) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450) Caused by: java.lang.NullPointerException at com.teamdev.site.jsf.beans.product.ProductPageHandler.getAcceptableProductFor(ProductPageHandler.java:82) at com.teamdev.site.jsf.beans.product.ProductPageHandler.getEvaluationInfo(ProductPageHandler.java:54) at sun.reflect.GeneratedMethodAccessor93.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at javax.el.BeanELResolver.getValue(BeanELResolver.java:62) at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53) at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72) at com.sun.el.parser.AstValue.getValue(AstValue.java:117) at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:192) at com.sun.facelets.el.ELText$ELTextVariable.writeText(ELText.java:184) at com.sun.facelets.el.ELText$ELTextComposite.writeText(ELText.java:108) at com.sun.facelets.compiler.TextInstruction.write(TextInstruction.java:45) ... 73 more
<dn id="_teamdev_ViewRoot" locale="en_US" renderKitId="HTML_BASIC" rendered="true" transient="false" viewId="/jexplorer/index.xhtml">_QuipuKitValidationProcessor_<ValidationProcessor id="teamdevValidationProcessor" rendered="false" transient="false" useDefaultClientValidationPresentationForApplication="true" useDefaultServerValidationPresentationForApplication="true"/><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" ><html xmlns="http://www.w3.org/1999/xhtml"> <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <meta name="AUTHOR" content="TeamDev Ltd."/> <meta name="CONTENT-LANGUAGE" content="en-US,ru"/> <meta name="COPYRIGHT" content=" 2009 TeamDev Ltd."/> <meta name="CACHE-CONTROL" content="Public"/><ComponentRef id="j_id3" rendered="true" transient="false"><meta name="Keywords" content="#{metaKeywords}"/></ComponentRef><ComponentRef id="j_id5" rendered="true" transient="false"><meta name="Description" content="#{metaDescription}"/></ComponentRef><title>#{productPage.productName} — #{propertyService.properties['company.name.full']}</title> <link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/reset.css" type="text/css" media="screen,projection"/> <link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/layout.css" type="text/css" media="screen,projection"/> <link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/main.css" type="text/css" media="screen,projection"/> <link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/menu.css" type="text/css" media="screen,projection"/> <link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/boxes.css" type="text/css" media="screen,projection"/> <link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/popup.css" type="text/css" media="screen,projection"/> <link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/print.css" type="text/css" media="print"/> <link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/handheld.css" type="text/css" media="handheld"/> <link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/edit.css" type="text/css" media="screen,projection"/><link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/products.css" type="text/css" media="screen,projection"/> <link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/product_#{productName}.css" type="text/css" media="screen,projection"/><script src="#{facesContext.externalContext.requestContextPath}/js/jquery/jquery-1.2.6.pack.js" type="text/javascript"/> <script src="#{facesContext.externalContext.requestContextPath}/js/jquery/facebox.js" type="text/javascript"/> <script src="#{facesContext.externalContext.requestContextPath}/js/jquery/jquery.hoverIntent.minified.js" type="text/javascript"/> <script src="#{facesContext.externalContext.requestContextPath}/js/main.js" type="text/javascript"/> <script src="#{facesContext.externalContext.requestContextPath}/js/dlink.js?notitles&nomailevents" type="text/javascript"/><script src="#{facesContext.externalContext.requestContextPath}/js/testimonials.js" type="text/javascript"/><!--[if lt IE 7]> <link rel="stylesheet" type="text/css" media="all" href="/css/style_ie6.css"> <script src="/js/stylefix.js" type="text/javascript"></script> <![endif]--> <link rel="icon" href="/favicon.ico" type="image/x-icon"/> <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"/><link rel="alternate" type="application/rss+xml" title="TeamDev #{productPage.productName} Product News" href="http://support.teamdev.com/blogs/feeds/tags/#{productName}"/><link rel="alternate" type="application/rss+xml" title="TeamDev Company News" href="http://support.teamdev.com/blogs/feeds/tags/company_news"/> <link rel="alternate" type="application/rss+xml" title="TeamDev Products Release Notes" href="http://support.teamdev.com/blogs/feeds/tags/release_notes"/> <link rel="alternate" type="application/rss+xml" title="TeamDev Support Blog Posts Feed" href="http://support.teamdev.com/community/feeds/blogs?community=1"/> <link rel="alternate" type="application/rss+xml" title="TeamDev Support Documents Feed" href="http://support.teamdev.com/community/feeds/documents?community=1"/> </head> <body id="#{bodyId}"><AjaxSettings id="j_id16" progressMessage="teamdev.jsf.component.ajaxsettings.DefaultProgressMessage@17d829" rendered="true" sessionExpiration="teamdev.jsf.component.ajaxsettings.DefaultSessionExpiration@1707c34" transient="false">progressMessage<DefaultProgressMessage id="j_id17" rendered="true" style="display: none;" transient="false"/>sessionExpiration<DefaultSessionExpiration confirmation="teamdev.jsf.component.confirmation.Confirmation@1ea7a42" id="j_id93" rendered="true" transient="false"><Confirmation alignToInvoker="false" cancelButtonText="Reload later" captionText="Session Expired" closeOnOuterClick="false" details="A new session will be created when the page is reloaded" draggable="false" draggableByContent="true" height="160px" hidingTimeout="-1" id="j_id93--confirm_expiration" message="Your session has expired" minHeight="80px" minWidth="150px" modal="true" modalLayerStyle="background: black; filter: alpha(opacity=50); opacity: .50;" okButtonText="Reload page now" rendered="true" resizeable="false" showCloseWindowButton="false" showMessageIcon="true" transient="false" visible="false" width="400px"/></DefaultSessionExpiration></AjaxSettings><div id="Page"><h1 id="Logo_small"><a href="/"><img src="#{facesContext.externalContext.requestContextPath}/images/logos/logo_1.png" alt="#{propertyService.properties['company.name.full']} Home Page" title="#{propertyService.properties['company.name.full']} Home Page"/></a></h1><UINamingContainer id="menuSubview" rendered="true" transient="false"><UINamingContainer id="menuSubview" rendered="true" transient="false"><ul id="Menu"> <li class="orange_bg #{current=='product' ? 'current' : ''}"><a href="/products/"><span><img src="/images/menu/blank.gif" alt="Producs"/></span></a></li> <li class="green_bg #{current=='store' ? 'current' : ''}"><a href="/store/"><span><img src="/images/menu/blank.gif" alt="Store"/></span></a></li> <li class="violet_bg #{current=='support' ? 'current' : ''}"><a href="/support/"><span><img src="/images/menu/blank.gif" alt="Support"/></span></a></li> <li class="indigo_bg #{current=='services' ? 'current' : ''}"><a href="/services/"><span><img src="/images/menu/blank.gif" alt="Services"/></span></a></li> <li class="blue_bg lastItem #{current=='company' ? 'current' : ''}"><a href="/company/"><span><img src="/images/menu/blank.gif" alt="Company"/></span></a></li></ul></UINamingContainer></UINamingContainer><UINamingContainer id="submenuSubview" rendered="true" transient="false"><UIRepeat id="j_id22" offset="0" rendered="true" size="-1" transient="false" var="group"><ul class="SubMenu #{group.name}"><UIRepeat id="j_id24" offset="0" rendered="true" size="-1" transient="false" var="item"><li class="#{item.current ? 'active' : ''} #{item.menuType.value=='IMAGE' ? 'imagemenu' : ''}"><HtmlPanelGroup id="j_id26" rendered="false" transient="false"><span><HtmlGraphicImage id="j_id28" ismap="false" rendered="false" transient="false"/><HtmlOutputText escape="true" id="j_id29" rendered="false" transient="false"/></span></HtmlPanelGroup><HtmlPanelGroup id="j_id31" rendered="true" transient="false"><a href="#{item.url}" class="#{item.urlClass}" id="#{item.linkId}"><HtmlGraphicImage id="j_id33" ismap="false" rendered="false" transient="false"/><HtmlOutputText escape="true" id="j_id34" rendered="false" transient="false"/></a></HtmlPanelGroup></li></UIRepeat></ul></UIRepeat></UINamingContainer><h3 id="Banner"><HtmlGraphicImage alt="" id="j_id39" ismap="false" rendered="true" transient="false" url="/images/products/jni/jexplorer/artwork.jpg" value="/images/products/jni/jexplorer/artwork.jpg"/></h3> <div class="bannerTextHolder"><a href="/store/#{productName}/"> <img border="0" alt="Buy now" src="/images/buttons/buynow.png"/> </a> <p>Buy online in few steps<br/> Questions by <a href="mailto:sales@teamdev.com">email</a><br/></p> </div><div id="Content"><div class="clearfix mainText"> <div id="leftContent" class="Col4_123 serif"><HtmlForm enctype="application/x-www-form-urlencoded" id="j_id43" prependId="true" rendered="true" submitted="false" transient="false"><HtmlOutputText escape="false" id="j_id44" rendered="true" transient="false" value="<p>JExplorer provides a convenient Java API for integrating Microsoft Internet Explorer into Java applications as a Java Swing UI component in headless mode, so you can embed it into the UI to manipulate programmatically without specific knowledge of COM or the Microsoft Internet Explorer API.</p> <div class="container"> <div class="Col2_1"> <h4>Browser Components</h4> <p>JExplorer provides 3 components: a visual browser object for embedding in a Swing UI, a headless browser for running automated tests for Web applications in the background, and an Automation-based browser component which you can use without embedding in a Swing UI.</p> </div> <div class="Col2_2"> <h4>Access to the DOM</h4> <p>You can manage elements in a document, modify element attributes, apply element styles, register and listen to DOM events, fire an event on some element, manipulate data in the HTML form elements, etc.</p> </div> </div> <div class="container"> <div class="Col1_1"> <h4>Access to Internet Explorer Functionality</h4> <p>With the JExplorer API, you can download HTML pages, navigate through them or to other pages, execute JavaScript code, set and get HTML content, prepare page for printing. Also it allows you to get access to advanced browser options, handle JavaScript errors and alert/confirmation JavaScript dialogs, create and display custom context Java menus instead of native ones, and many other things.</p> </div> </div>"/></HtmlForm></div> <div id="rightContent" class="Col4_4"><script src="/js/jquery/jquery.validate.js" type="text/javascript"/> <script type="text/javascript"> var product = '#{productPage.productName}'; function fireGoogleAnalytics(productName, evaluate) { var action = evaluate ? "evaluate" : "download"; var eventStr = "/" + action + "-" + productName; pageTracker._trackPageview(eventStr); } function show(id) { var component = document.getElementById(id); component.className = 'visible'; $("#download\\:email").addClass("required email"); $("#download\\:name").addClass("required"); } function hide(id) { var component = document.getElementById(id); component.className = 'hidden'; $("#download\\:email").removeClass("required email error"); $("#download\\:name").removeClass("required error"); } function changeVisibility(id) { var component = document.getElementById('download:evaluation'); if (component.checked) { show(id); } else { hide(id); } } function emailValid() { if(isEvaluationChecked()){ return $('#download\\:email').valid(); } else { return true; } } $(document).ready(function() { document.getElementById("download:evaluation").checked = #{productPage.evaluationInfo.sendEvaluation}; document.getElementById("download:email").value = "#{productPage.evaluationInfo.email}"; document.getElementById("download:name").value = "#{productPage.evaluationInfo.name}"; $("#download").validate( { ignore :".ignore", errorPlacement : function(error, element) { // Do nothing } }); }); function isEvaluationChecked() { return document.getElementById('download:evaluation').checked; } function isFormValid() { var valid = $("#download").valid(); return valid; } function processSubmit() { if( isFormValid() ) { var component = document.getElementById('download:evaluation'); fireGoogleAnalytics(product, component.checked) } else { return false; } } </script> <div id="downloadEvaluateBox" class="BoxGrey SideBar"> <div class="container"> <h3>Download & Evaluate</h3> </div> <div class="content"> <p>#{productPage.productName}#{empty productPage.version ? '' : ' '}#{productPage.version}. See <a class="external" href="#{releaseNotesLink}">release notes</a></p><HtmlForm enctype="application/x-www-form-urlencoded" id="download" onsubmit="processSubmit();" prependId="true" rendered="true" submitted="false" transient="false"><table> <tbody><HtmlPanelGroup id="j_id48" rendered="true" transient="false"><tr> <td class="labelHolder"><HtmlOutputLabel escape="true" for="platform" id="j_id50" rendered="true" transient="false">Platform:</HtmlOutputLabel></td> <td><DropDownField autoComplete="true" buttonAlignment="right" buttonClass="donwloadDropDownButton" converter="com.teamdev.site.jsf.beans.product.ProductPageHandler$ProductConverter@100b64d" customValueAllowed="false" disabled="false" fieldClass="dropdownFieldClass" id="product" immediate="false" listAlignment="left" listItemClass="donwloadDropDownlistItem" localValueSet="false" maxlength="-2147483648" rendered="true" required="false" size="-2147483648" styleClass="downloadInput" suggestionDelay="350" suggestionMinChars="0" suggestionMode="all" timeout="-1" transient="false" valid="true" var="item">popup<DropDownPopup id="product--popup" rendered="true" transient="false"/><DropDownItems id="j_id53" rendered="true" transient="false"/><TableColumn filterKind="searchField" id="j_id54" rendered="true" resizeable="true" transient="false"><HtmlGraphicImage id="j_id55" ismap="false" rendered="true" transient="false"/></TableColumn><TableColumn filterKind="searchField" id="j_id56" rendered="true" resizeable="true" transient="false"><HtmlOutputText escape="true" id="j_id57" rendered="true" transient="false" value=" "/></TableColumn></DropDownField></td> </tr></HtmlPanelGroup><tr> <td class="labelHolder"> </td> <td> <table cellpadding="0" cellspacing="0" class="evaluationCheckboxHolder"> <tr> <td style="padding-right: 5px;"><HtmlSelectBooleanCheckbox disabled="false" id="evaluation" immediate="false" localValueSet="false" onclick="changeVisibility('nameRow');changeVisibility('emailRow');" readonly="false" rendered="true" required="false" style="" transient="false" valid="true"/></td> <td><HtmlOutputLabel escape="true" for="evaluation" id="j_id61" rendered="true" transient="false">Get evaluation key</HtmlOutputLabel></td> </tr> </table> </td> </tr> <tr id="nameRow"> <td class="labelHolder"><HtmlOutputLabel escape="true" for="name" id="j_id64" rendered="true" transient="false">Name:</HtmlOutputLabel></td> <td><HtmlInputText disabled="false" id="name" immediate="false" localValueSet="false" maxlength="-2147483648" readonly="false" rendered="true" required="false" size="-2147483648" styleClass="downloadInput required" transient="false" valid="true"/></td> </tr> <tr id="emailRow"> <td class="labelHolder"><HtmlOutputLabel escape="true" for="email" id="j_id68" rendered="true" transient="false">Email:</HtmlOutputLabel></td> <td><HtmlInputText disabled="false" id="email" immediate="false" localValueSet="false" maxlength="-2147483648" readonly="false" rendered="true" required="false" size="-2147483648" styleClass="downloadInput required email " transient="false" valid="true"/></td> </tr> <tr> <td/> <td><HtmlCommandButton action="#{productPage.evaluate}" actionExpression="#{productPage.evaluate}" disabled="false" id="j_id72" immediate="false" readonly="false" rendered="true" transient="false" type="submit" value="Download"/></td> </tr> </tbody> </table></HtmlForm></div> </div></div> </div> <div id="fullWidthContent" class="Col1_1 serif"><HtmlForm enctype="application/x-www-form-urlencoded" id="j_id76" prependId="true" rendered="true" submitted="false" transient="false"><HtmlOutputText escape="false" id="j_id77" rendered="true" transient="false" value="<div class="container"> <div class="Col4_1 center nomargintop"> <img alt="Supported platforms" src="/images/products/jni/jexplorer/win.png"/> <div style="margin-top: -40px;" class="systemRequirements"> <p>All versions of 32-bit Windows<br/> Java 2 SDK/JRE 1.4.x and higher</p> </div> </div> <div class="Col4_23 nomargintop"> <h4>Support for Browser Events</h4> <p>Event listeners of the JExplorer API will allow you to verify document download completion, handle various states of the browser, listen to start, progress and completion of navigation, and more.</p> </div> </div> <div class="container" style="margin-top:-5em;"> <div class="Col2_2"> <div id="testimonials"> <div> <p class="lightgray_text textright"> <em><q>JExplorer is a really cool tool…</q></em><br/> <small>Stefan Rock, <a href="http://akquinet.de/" class="gray underlined external">Akquinet Agile GmbH</a></small> </p> </div> <div> <p class="lightgray_text textright"> <q><em>In case you are wondering, why am I trying to get your product to do what I’ve already gotten other products to do?</em> Answer: <em>Your product is stable! And your support is superb.</em></q><br/> <small>John Michelsen, <a href="http://www.itko.com/" class="gray underlined external">iTKO, Inc.</a></small> </p> </div> <div> <p class="lightgray_text textright"> <em><q>My company, Currenex, ended up purchasing a JExplorer license. So far we are happy with it, we have used it to replace JDIC which was quite problematic for us. <br/>For us the JExplorer API was much richer than the JDIC API.</q></em><br/> <small>Scott Chan, <a href="http://currenex.com/" class="gray underlined external">Currenex Inc.</a></small> </p> </div> </div> </div> </div> <script type="text/javascript"> changeTestimonial(); </script>"/></HtmlForm></div></div> <div class="BoxGrey QuickLinks"> <div class="content container"> <div class="Col4_1"><UINamingContainer id="purchaseNavigationBlock" rendered="true" transient="false"><h4>Purchase & Licensing</h4> <ul> <li><a href="/#{productPage.productNameLowerCase}/licensing/">Licensing models</a></li> <li><a href="/store/#{productPage.productNameLowerCase}/">How to purchase #{productPage.productName}</a></li> <li><a href="/store/#{productPage.productNameLowerCase}/#discounts">Save with discounts</a></li> <!--li><a >Upgrade your product</a></li--> </ul></UINamingContainer></div> <div class="Separator4_12"/> <div class="Col4_2"><UINamingContainer id="supportNavigationBlock" rendered="true" transient="false"><h4>Support</h4> <ul> <li><a href="http://support.teamdev.com/#{productPage.productNameLowerCase}" class="external" target="_blank">Get help with #{productPage.productName}</a></li> <li><a href="http://support.teamdev.com/forms/reportForm.jsf" class="external" target="_blank">Submit your support request</a></li> </ul></UINamingContainer></div> <div class="Separator4_23"/> <div class="Col4_3"><UINamingContainer id="documentationNavigationBlock" rendered="true" transient="false"><h4>Documentation</h4> <ul> <li><a href="/#{productPage.productNameLowerCase}/features/">Features</a></li> <li><a href="#{propertyService.properties['server.download.folder']}/#{productPage.productNameLowerCase}/docs/#{productPage.productName}-PGuide.html">Programmer's Guide</a></li> <li><a href="/#{productPage.productNameLowerCase}/documentation/">FAQ and troubleshooting</a></li> <li><a href="http://support.teamdev.com/blogs/tags/#{productPage.productNameLowerCase}" class="external">Product news</a></li> </ul></UINamingContainer></div> <div class="Separator4_34"/> <div class="Col4_4"><UINamingContainer id="productsNavigationBlock" rendered="true" transient="false"><script type="text/javascript"> $(document).ready(function(){ $('.q_popuplayer').mouseout(function(){ $('.q_popuplayer').css({display: 'none'}); }); $('.productQuickLink:not(#jxfilewatcherQuickLink)').hoverIntent({ sensitivity: 3, interval: 200, over: function() { var productName = this.href.substring(0, this.href.length - 1); productName = productName.substring(productName.lastIndexOf('/') + 1); openProductPopup(productName); }, out: function() { } }); closeProductPopup(); }); function openProductPopup(productNameLowerCase) { if (productNameLowerCase == "") { return; } var productInfoSelector = "#" + productNameLowerCase + "ProductQuickLinkContent"; var productName = $(productInfoSelector + " > .productName")[0].innerHTML; var productDescription = $(productInfoSelector + " > .productDescription")[0].innerHTML; var description = '<strong><a href="/' + productNameLowerCase + '/">' + productName + '</a></strong><br/><span>' + productDescription + '</span><br/>'; if (productNameLowerCase != 'quipukit'){ description += '<a href="/' + productNameLowerCase + '/features/">Features</a>'; description += ' | '; } if (productNameLowerCase != 'jniwrapper'){ description += '<a href="/' + productNameLowerCase + '/onlinedemo/">Online Demo</a>'; } else { description += '<a href="/jniwrapper/winpack/">WinPack</a>'; } $("#productInfoDiv")[0].innerHTML = description; $("#productImgDiv")[0].innerHTML = '<img src="/images/icons/quicklinks/' + productNameLowerCase + '.png" alt="' + productName + '" align="left"/>'; var offset = $("#" + productNameLowerCase + "QuickLink").offset(); var pageOffset = $('#Page').offset(); var x = offset.left - pageOffset.left - 22; var navBlockOffset = $('.QuickLinks').offset(); var y = offset.top - navBlockOffset.top - 9; document.getElementById('productsNavigationBlock:links:productPopup').showAtXY(x, y); document.getElementById('productsNavigationBlock:links:productPopup').onmouseover = function() { q_showPopupLayer('productsNavigationBlock:links:productPopup'); }; } function closeProductPopup() { document.getElementById('productsNavigationBlock:links:productPopup').hide(); } </script> <h4>Products</h4> <div class="container"> <ul class="productsList"> <li><a id="jniwrapperQuickLink" href="/jniwrapper/" class="productQuickLink"> <img src="/images/icons/quicklinks/jniwrapper.png" alt="JNIWrapper" align="left"/>JNIWrapper</a> <div id="jniwrapperProductQuickLinkContent" style="display:none;"> <div class="productName">JNIWrapper</div> <div class="productDescription">Access to native code from Java without JNI</div> </div> </li> <li><a id="comfyjQuickLink" href="/comfyj/" class="productQuickLink"> <img src="/images/icons/quicklinks/comfyj.png" alt="ComfyJ" align="left"/>ComfyJ</a> <div id="comfyjProductQuickLinkContent" style="display:none;"> <div class="productName">ComfyJ</div> <div class="productDescription">Bi-directional Java-COM bridge</div> </div> </li> <li><a id="jxcaptureQuickLink" href="/jxcapture/" class="productQuickLink"> <img src="/images/icons/quicklinks/jxcapture.png" alt="JxCapture" align="left"/>JxCapture</a> <div id="jxcaptureProductQuickLinkContent" style="display:none;"> <div class="productName">JxCapture</div> <div class="productDescription">Screen capture API for Java apps</div> </div> </li> <li><a id="jxbrowserQuickLink" href="/jxbrowser/" class="productQuickLink"> <img src="/images/icons/quicklinks/jxbrowser.png" alt="JxBrowser" align="left"/>JxBrowser</a> <div id="jxbrowserProductQuickLinkContent" style="display:none;"> <div class="productName">JxBrowser</div> <div class="productDescription">Integration of Mozilla Firefox into Java AWT/Swing</div> </div> </li> </ul> <ul class="productsList"> <li><a id="jexplorerQuickLink" href="/jexplorer/" class="productQuickLink"> <img src="/images/icons/quicklinks/jexplorer.png" alt="JExplorer" align="left"/>JExplorer</a> <div id="jexplorerProductQuickLinkContent" style="display:none;"> <div class="productName">JExplorer</div> <div class="productDescription">Use the IE browser as a Java Swing UI component</div> </div> </li> <li><a id="jexcelQuickLink" href="/jexcel/" class="productQuickLink"> <img src="/images/icons/quicklinks/jexcel.png" alt="JExcel" align="left"/>JExcel</a> <div id="jexcelProductQuickLinkContent" style="display:none;"> <div class="productName">JExcel</div> <div class="productDescription">Provides full access to Excel functionality from Java</div> </div> </li> <li><a id="jxfilewatcherQuickLink" href="/jxfilewatcher/" class="productQuickLink"> <img src="/images/icons/quicklinks/jxfilewatcher.png" alt="JxFileWatcher" align="left"/>JxFileWatcher</a> </li> <li><a id="quipukitQuickLink" href="/quipukit/" class="productQuickLink"> <img src="/images/icons/quicklinks/quipukit.png" alt="QuipuKit" align="left"/>QuipuKit</a> <div id="quipukitProductQuickLinkContent" style="display:none;"> <div class="productName">QuipuKit</div> <div class="productDescription">JSF library for creating a dynamic UI for Web apps</div> </div> </li> </ul> </div><HtmlForm enctype="application/x-www-form-urlencoded" id="links" prependId="true" rendered="true" submitted="false" transient="false"><PopupLayer closeOnOuterClick="false" draggable="false" hidingTimeout="0" id="productPopup" modal="false" rendered="true" transient="false" visible="false"><HtmlOutputText escape="false" id="j_id87" rendered="true" transient="true" value=" <div class="productPopup"> <div> <div id="productImgDiv" class="productImgDiv"> </div> <div id="productInfoDiv" class="productInfoDiv"> </div> </div> </div>"/></PopupLayer></HtmlForm></UINamingContainer></div> </div> </div><UINamingContainer id="footerSubview" rendered="true" transient="false"><div id="Footer" class="clearfix"><HtmlForm enctype="application/x-www-form-urlencoded" id="errorReport" prependId="true" rendered="true" submitted="false" transient="false"><HtmlInputHidden id="pageId" immediate="false" localValueSet="false" rendered="true" required="false" transient="false" valid="true"/><HtmlInputHidden id="errorText" immediate="false" localValueSet="false" rendered="true" required="false" transient="false" valid="true"/><HtmlPanelGroup id="errorReportSender" rendered="true" transient="false"><ReloadComponents disableDefault="false" id="sendBugReport" immediate="false" rendered="true" requestDelay="0" submitParent="true" transient="false"/></HtmlPanelGroup></HtmlForm><div class="Col2_1"> © #{dateUtil.currentYear} #{propertyService.properties['company.name.full']} All rights reserved. <a href="/legal/">Terms of Use</a> | <a href="/privacy/">Privacy Policy</a><HtmlOutputText escape="true" id="buildNumber" rendered="true" style="color:white;" transient="false" value=" | Build: #215"/></div> <div class="Col2_2 textright"> <script> function googleSearch(value) { var queryComponent = value + " site:" + window.location.host; queryComponent = encodeURIComponent(queryComponent); var query = "http://www.google.com/search?hl=en&q=" + queryComponent; window.location = query; } </script> <form id="search" type="container" method="get" onsubmit="googleSearch(document.getElementById('search_field').value);return false;"> <a href="/company/contactus/">Contact Us</a> | <a href="/company/news/">Latest News</a> | <a href="/company/career/">Job Offers</a> | <!-- a href="/sitemap/">Site Map</a--> <input type="search" id="search_field" name="text" placeholder="Search" autosave="TeamDev" results="5"/> </form> </div> </div></UINamingContainer></div> <!-- Google Analytics --> <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script type="text/javascript"> var pageTracker = _gat._getTracker("UA-477095-2"); pageTracker._setDomainName("none"); pageTracker._setAllowLinker(true); pageTracker._initData(); pageTracker._trackPageview(); </script> </body> </html></dn>