Как вставить гистограмму, используя библиотеку Primefaces в Eclipse с сервлетом Java и HTML - PullRequest
0 голосов
/ 05 июля 2018

Я хочу сделать гистограмму с числами, которые я получаю из веб-динамической формы.

У меня есть этот код Java (MyServlet.java):

    public class MyServlet extends HttpServlet {
private static final long serialVersionUID = 1L;


public MyServlet() {
    super();
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

   PrintWriter out= response.getWriter();
   String a=request.getParameter("a1");
   String b=request.getParameter("a2");
   float i=0;
   float j=0;

  try {
      i= Float.parseFloat(a);
      j= Float.parseFloat(b);
      float sum=i+j; 

        float counter1= (i*100/sum);
        float counter2= (j*100/sum);

        DecimalFormat df = new DecimalFormat(".##");

        out.println("First group is "+ df.format(counter1) +"% of sum");
         out.println("Second group is "+ df.format(counter2) +"% of sum"); 
        //out.println("Prva grupa sadrzi "+ df.format(brojacPrvi) +"% od 
          //ukupnog broja clanova. ");
         //out.println("Druga grupa sadrzi "+ df.format(brojacDrugi) +"% od 
          //ukupnog broja clanova."); 
} catch (NumberFormatException e) {

       out.println("<script type=\"text/javascript\">");
       out.println("alert('Only numbers!!!');");
       out.println("location='index.jsp';");
       out.println("</script>");

}

Мой HTML-код (index.jsp):

     <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
      "http://www.w3.org/TR/html4/loose.dtd">
      <html>
      <head>
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
   <title>Insert title here</title>
   </head>
    <body>
     <form action="MyServlet">
     <H4>Insert first number</H4>
     <hr/>
     <input type="text" name="a1" />
     <hr/>
     <H4>Insert second number</H4>
     <hr/>
     <input type="text" name="a2" />
    <hr/>
     <input type="submit" value="Submit" /> <br>

     </form>
      </body>
       </html> 

Так выглядит мое приложение в сети, я просто ввожу два числа: enter image description here

Вот так это выглядит, когда я нажимаю Отправить. enter image description here

Так что мой вопрос в том, как установить counter1 и counter2 в гистограмме на странице MyServlet.java, используя библиотеку primefaces. Мне нужна гистограмма под текстом моей второй страницы.

1 Ответ

0 голосов
/ 05 июля 2018

Если вы собираетесь использовать Primefaces, это означает, что вы используете JavaServer Faces (JSF). Прямой сервлет не подойдет, вам нужно использовать бэк-бэк.

Я предлагаю просто следовать примеру Primemars Bar Chart: https://www.primefaces.org/showcase/ui/chart/bar.xhtml

Вы можете клонировать этот проект https://github.com/primefaces/primefaces-test, чтобы начать использовать Primefaces и запустить "mvn clean jetty: run", чтобы запустить проект и нажать его на localhost: 8080.

...