There is a need of generating a xml file from a view object. This is a very easy process as there is a method of view object class “writeXml” to write the content of view object to a xml format.
- First generate Impl class for application module.
- Write following code to create an object of view object, and generate xml content. Then write this generated xml to a file using output stream.
public String printXml() { Connection conn; FileOutputStream out; ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); try { AppModuleImpl am = (AppModuleImpl)resolvEl("AppModuleDataControl"); conn = am.getDBTransaction().createStatement(0).getConnection(); ViewObject vo = am.findViewObject("EmployeeView"); ((XMLNode)vo.writeXML(4, XMLInterface.XML_OPT_ALL_ROWS)).print(outputStream); System.out.println(outputStream); out = new FileOutputStream("F://Employee.xml"); PrintStream p = new PrintStream(out); p.println(outputStream); p.close(); } catch (Exception e) { System.out.println(e.getMessage()); } return null; } public Object resolvEl(String data){ FacesContext fc = FacesContext.getCurrentInstance(); Application app = fc.getApplication(); ExpressionFactory elFactory = app.getExpressionFactory(); ELContext elContext = fc.getELContext(); ValueExpression valueExp = elFactory.createValueExpression(elContext, "#{data."+data+".dataProvider}", Object.class); return valueExp.getValue(elContext); }
No comments:
Post a Comment