This demo shows how you may embedd JAXFront into your own servlet using the API class. Clicking on the button below will call your own servlet (APIDemoServlet.java) and generate a JAXFront html ui. This example shows the usage of an own action controller (MyOwnDOMActionController) to demonstrate the usage of own server side button implementation to interact with the JAXFront dom. Click on the button called "own action" after you have created the UI.
<script language="JavaScript" src="js/jaxfront-ajax.js" type="text/javascript"></script>
createHTML(elementRef, 'serverAddress', 'servletName', 'htmlTargetID', 'optinalURLParams', 'language');We used this params in this example:
createHTML(this, null, 'APIDemoServlet', 'VISUALIZER_CONTENT', '&action=api-go', 'de');
js lic style templates WEB-INF/jaxfront.xml WEB-INF/lib/*.jar WEB-INF/lib/jaxfront.tld (for JSP usage only)
<filter> <filter-name>JAXFrontRequestFilter</filter-name> <filter-class>com.jaxfront.html.servlet.JAXFrontRequestFilter</filter-class> </filter> <filter-mapping> <filter-name>JAXFrontRequestFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
public class APIDemoServlet extends HttpServlet { public void service(HttpServletRequest request, HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException { String action = request.getParameter("action"); if (action != null && action.equals("api-go")) { apigo(request, response); } else { super.doPost(request, response); } } private void apigo(HttpServletRequest request, HttpServletResponse response) { response.setContentType("text/html; charset=UTF-8"); StringBuffer formContentXHML = new StringBuffer(); String language = request.getParameter("language"); String xsdURL = JAXFrontServletAdapter.getRealPath("examples/purchaseOrder/po.xsd"); String xml = null; String xuiURL = JAXFrontServletAdapter.getRealPath("examples/purchaseOrder/po.xui"); DOMActionController actionController = new MyOwnDOMActionController(); String id = API.buildForm(formContentXHML, request, URLHelper.getUserURL(xsdURL), URLHelper.getUserURL(xml), URLHelper.getUserURL(xuiURL), actionController, language); // keep this id to get the JAXFront Document later on to serialize XML > dom.serialize(); DOMHandler domHandler = API.getFormDOM(request, id); if (domHandler != null) { Document jaxfrontDOM = domHandler.getDOM(); } try { response.getWriter().write(formContentXHML.toString()); } catch (IOException e) {} } }