在JSF文件中调用java类(managedBeans)函数

时间:2018-01-16 22:56:13

标签: java jsf xhtml

我对使用managedBean和JSF文件有疑问。我是这个概念的初学者,如果我的问题非常基本,我道歉。 这是我在managedBean java文件中的主要功能。

ArrayList<ArrayList<Object>> processDataSources(String mainFile, String comparingFile, int mainFileNumOfColumn, int comaringFileNumOfColumn), 

简而言之,这个函数的作用是它逐行读取两个Excel文件的一定数量的列,并通过删除重复项清除其数据,并为每个文件返回一个干净数据集合,然后将集合中的每个记录与第二集中的每个记录。

然后它保留了每两个记录的通用术语。最终,此函数返回一个集合,该集合中的每个记录都是一个对象数组。这些对象id1,id2,匹配项的数量,匹配单词的集合,list1的原始单词的集合,以及list2的原始单词的集合。

ArrayList<ArrayList<Object>> processDataSources(String mainFile, String comparingFile, int mainFileNumOfColumn, int comaringFileNumOfColumn)

我的目标是有两个按钮来浏览Excel文件,一个按钮来启动该过程。按下Process按钮后,excel文件位置的路径值将传递给processDataSources()函数,并且屏幕上将显示该过程的结果。我对如何在我的JSF文件中编写代码有一些含糊之处。如果有人给我一些提示,我真的很感激。

现在在我的XHTML文件中,我现在不知道如何获取processDataSources函数返回的集合。

<!DOCTYPE html>
<html lang = "eng"
      xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:f="http://xmlns.jcp.org/jsf/core"
      xmlns:p="http://primefaces.org/ui">

      <h:head>          
        <title>Excel file process</title>
      </h:head>
      <h:body>
        <h:form>

         //here I intend to put two browse button to browse into my computer and get a hold of 2 excel file 
            <h:commandButton value="process" action=""/> 
       // when Process button is pressed, I would like to save the address of the // 
      //two selected excel file and pass them to precessDataSource called below.

        </h:form>
        <h:dataTable value=#{procesDataSource(mainFile, comparingFile, mainFileNumOfColumn, comaringFileNumOfColumn) var="currentRecord"}
          <h:column>
              <f:facet name="header">Main List ID</f:facet>
                #{currentRecord.get(0)}//is this right way of getting the value in the first bucket is correct. or do I have to create an object and store the value as the property of this object instead preserving it in an array?
               <f:facet name="header">Number of matching</f:facet>
                #{currentRecord.get(1)}
          </h:column>
    </h:body>
</html>

0 个答案:

没有答案