How to use the element from XML (SAXParser) and show it to table
-
I'm working on a web application that using Spring MVC and Hibernate, I've field that the type is Clob and the value is XML, The clob was parse using SAXParser before, How to use the element from SAXParser and show it to table, I Really have no idea to show the element from SAXParser to my table (JSP) this is my code, @RequestMapping(value="/admin/Detail-BPJS-TK.html") public ModelAndView listDetailBPJSTK(ModelMap model, HttpServletRequest request, HttpServletResponse response)throws ParserConfigurationException, SAXException, Exception{ if(!((request.getParameter("MESSAGEID")) == null)){ String MESSAGEID = request.getParameter("MESSAGEID"); System.out.println(MESSAGEID); //140721438362 //DetailBPJS detailbpjs = detailbpjsService.get(MESSAGEID); //String tes = detailbpjs.getMESSAGEID(); //System.out.println(tes); Configuration cfg = new Configuration(); cfg.configure("hibernatesoaappbpjstk.cfg.xml"); SessionFactory factory = cfg.buildSessionFactory(); Session session = factory.openSession(); String pay = "PAYMENT"; String sub = "PROCESSED"; Query query = session.createQuery("from DetailBPJS where TRANSACTION = :tra and SUBTRANSACTION = :sub and MESSAGEID = :mes"); query.setParameter("tra", pay); query.setParameter("sub", sub); query.setParameter("mes", MESSAGEID); @SuppressWarnings("unchecked") List <DetailBPJS> result = query.list(); if(result.isEmpty()){ System.out.println("Please, check the 'No. Billing' again!!"); System.out.println(MESSAGEID); model.addAttribute("errorMessageBPJSTK", "true"); }else{ DetailBPJS data = (DetailBPJS)result.get(0); String nom1 = data.getTRANSACTION(); String nom2 = data.getSUBTRANSACTION(); String nom3 = data.getUUID(); Clob nom4 = data.getRAWDATA(); System.out.println(nom1 + " - " + nom2 + " - " + nom3 + " - " + nom4); //140721438362 //convert clob to java.io.reader Reader myclob = nom4.getCharacterStream(); System.out.println(myclob); //create InputSource from Reader InputSource myinput = new InputSource(myclob); System.out.println(myinput); try { SAXParserFactory factoryz = SAXParserFactory.newInstance(); SAXParser saxParser = factoryz.newSAXParser(); System.out.println(saxParser); DefaultHandler handler = new DefaultHandler(){ boolean b_num = false; boolean b_krb = false; boolean b_reqid = false; boolean b_ch = false; boolean b_kb = false; boolean b_tgl = false; boolean tot = false; boolean jht = false; boolean jkk = false; boolean jkm = false; public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException{ if (qName.equalsIgnoreCase("messageId")){ b_num = true; } if (qName.equalsIgnoreCase("bpjs:kodeRefBank")){ b_krb = true; } if (qName.equalsIgnoreCase("bpjs:reqId")){ b_reqid = true; } if (qName.equalsIgnoreCase("bpjs:chId")){ b_ch = true; } if (qName.equalsIgnoreCase("bpjs:kodeBank")){ b_kb = true; } if (qName.equalsIgnoreCase("bpjs:tglTrx")){ b_tgl = true; } if (qName.equalsIgnoreCase("totalAmount")){ tot = true; } if (qName.equalsIgnoreCase("amountJHT")){ jht = true; } if (qName.equalsIgnoreCase("amountJKK")){ jkk = true; } if (qName.equalsIgnoreCase("amountJKM")){ jkm = true; } } public void characters(char ch[], int start, int length) throws SAXException{ if (b_num){ System.out.println("(1) Value of Billing Number : " + new String(ch, start, length)); String tust = new String(ch, start, length); System.out.println(tust); b_num = false; } if (b_krb){ System.out.println("(2) Value Of KodeRefBank : " + new String(ch, start, length)); b_krb = false; } if (b_reqid){ System.out.println("(3) Value Of ReqId : " + new String(ch, start, length)); b_reqid = false; } if (b_ch){ System.out.println("(4) Value Of ChId : " + new String(ch, start, length)); b_ch = false; } if (b_kb){ System.out.println("(5) Value Of KodeBank : " + new String(ch, start, length)); b_kb = false; } if (b_tgl){ System.out.println("(6) Value Of TglTrx : " + new String(ch, start, length)); b_tgl = false; } if (tot){ System.out.println("(7) Value Of Tot : " + new String(ch, start, length)); tot = false; } if (jht){ System.out.println("(8) Value Of JHT : " + new String(ch, start, length)); jht = false; } if (jkk){ System.out.println("(9) Value Of JKK : " + new String(ch, start, length)); jkk = false; } if (jkm){ System.out.println("(10) Value Of JKM : " + new String(ch, start, length)); jkm = false; } } }; saxParser.parse(myinput, handler); } catch (Exception e) { e.printStackTrace(); // TODO: handle exception } //SAX Parser to parse this xml } session.close(); factory.close(); }else{ System.out.println("Please, check the 'No. Billing' again!!"); String MESSAGEID = request.getParameter("MESSAGEID"); System.out.println(MESSAGEID); model.addAttribute("errorMessageBPJSTK", "true"); } return listDetailBPJS(model); } any help will be pleasure :) ~
-
Answer:
You can directly add the String values to ModelMap and access them from the jsp same as "errorMessageBPJSTK". if(b_num){ model.addAttribute("billingNumber",new String(ch, start, length)); b_num = false; } if(b_krb){ model.addAttribute("kodeRefBank",new String(ch, start, length)); b_krb = false; } and in jsp access them like; <td>Billing Number : </td> <td>${billingNumber}</td>
splatter_fadli at Stack Overflow Visit the source
Related Q & A:
- How to serialize an object to XML with dynamic element's attribute?Best solution by Stack Overflow
- How Add element to XML file?Best solution by Stack Overflow
- How to remove first element in multidimentional array?Best solution by Stack Overflow
- How to find button element on the page?Best solution by Stack Overflow
- How can I put element beside another? (Android?Best solution by stackoverflow.com
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.