首页 > 解决方案 > 如何在带有servlet java和html的eclipse中使用primefaces库插入条形图

问题描述

我想用从网络动态表单中获得的数字制作条形图。

我有这个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> 

这是我的应用在网络上的外观,我只需输入两个数字: 在此处输入图像描述

这是我单击提交时的样子。 在此处输入图像描述

所以我的问题是如何使用 primefaces 库在 MyServlet.java 页面上的条形图中设置 counter1 和 counter2。我想要第二页文本下的条形图。

标签: servletsprimefacesbar-chart

解决方案


如果您打算使用 Primefaces,则意味着您正在使用 JavaServer Faces (JSF)。直接的 servlet 不需要使用支持 bean。

我建议只需遵循 Primefaces 条形图示例: https ://www.primefaces.org/showcase/ui/chart/bar.xhtml

你可以克隆这个项目https://github.com/primefaces/primefaces-test让你开始使用 Primefaces 并运行“mvn clean jetty:run”来运行项目并在 localhost:8080 上点击它。


推荐阅读