में जेएफरी चार्ट उत्पन्न करें, मैं उपयोगकर्ता द्वारा चुने गए कुछ चेकबॉक्स के परिणामस्वरूप जेएफरी चार्ट का उपयोग करके गतिशील रूप से ग्राफ उत्पन्न करने का प्रयास कर रहा हूं, लेकिन मैं यह नहीं समझ सकता कि जनरेट किए गए डेटासेट को चार्ट फ़ॉर्म में कैसे प्राप्त किया जाए (मेरे पास कोड है इनसे चार्ट बनाता है, लेकिन पीएनजी उत्पादन करने की आवश्यकता है) और जेएसपी व्यू में। वर्तमान में, मैं केवल जेएसपी को डेटासेट भेजने का विचार कर सकता हूं, लेकिन इस बारे में नहीं सोच सकता कि वहां से क्या करना है ... मैं इसे कैसे बना सकता हूं: उपयोगकर्ता सर्वलेट को फॉर्म सबमिट करता है, सर्वलेट डेटासेट उत्पन्न करता है, डेटासेट से उत्पादित चार्ट , चार्ट से पीएनजी और आखिरकार पीएनजी जेएसपी को भेजा जाता है? या उनके जैसे की कुछ और।गतिशील रूप से सर्वलेट
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException{
String[] metrics = request.getParameterValues("metrics");
String[] fileNames = request.getParameterValues("files");
List<CategoryDataset> results = new ArrayList<CategoryDataset>();
DMCalc calculator = new DMCalc(metrics, fileNames);
calculator.calculateResults();
results.add(calculator.getEditDistanceDataset());
results.add(calculator.getSimilarityDataset());
results.add(calculator.getTimeChartDataset());
request.setAttribute("results", results);
RequestDispatcher view = request.getRequestDispatcher("metricResult.jsp");
view.forward(request, response);
}
अद्यतन:
doPost विधि उपयोगकर्ता पद से डेटासेट उत्पन्न होने से, वे तो खेतों में संग्रहित किया जा सकता है, बाद में RequestDispatcher जो तब सर्वलेट का doGet प्रणाली को बुलाती है JSP को उपयोगकर्ता अग्रेषित करता है एक आईएमजी टैग में, जो कि पीएनजी बनाने के लिए पहले खेतों में संग्रहीत डेटासेट का उपयोग करता है और फिर जेएसपी में एचटीएमएल द्वारा प्रदर्शित किया जाता है।
ध्वनि अपने समाधान की तरह के रूप में जल्द दो उपयोगकर्ताओं को एक ही समय में अपने पेज के रूप में प्रयोग कर रहे हैं टूट जाएगा - सर्वलेट वर्ग के क्षेत्र में कुछ भी स्टोर करना सुरक्षित नहीं है! –
आह, ठीक है - क्या एक ही चीज़ प्राप्त करने का कोई तरीका है? – Robert
आसान समाधान HttpSession ऑब्जेक्ट है। Http सत्र सत्र = request.getSession(); और फिर session.setAttribute ("परिणाम", परिणाम); फॉर्म सर्वलेट में, और session.getAttribute ("परिणाम") चार्ट सर्वलेट में। –