Jsf 在JSP上显示列表内容

Jsf 在JSP上显示列表内容,jsf,javabeans,Jsf,Javabeans,列表内容不会显示在JSF页面中。 该表不显示在jsf页面上。它总是空白的。该列表包含建议项目的列表。有getter和setter方法以及一个返回推荐项列表的函数。 这是我的密码: package org.recommender; import java.io.File; import java.io.IOException; import java.io.Serializable; import java.util.ArrayList; import java.util.List; impor

列表内容不会显示在JSF页面中。 该表不显示在jsf页面上。它总是空白的。该列表包含建议项目的列表。有getter和setter方法以及一个返回推荐项列表的函数。 这是我的密码:

package org.recommender;

import java.io.File;
import java.io.IOException;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import org.apache.mahout.cf.taste.common.TasteException;
import org.apache.mahout.cf.taste.impl.common.LongPrimitiveIterator;
import org.apache.mahout.cf.taste.impl.model.file.FileDataModel;
import org.apache.mahout.cf.taste.impl.recommender.GenericItemBasedRecommender;
import org.apache.mahout.cf.taste.impl.similarity.TanimotoCoefficientSimilarity;
import org.apache.mahout.cf.taste.model.DataModel;
import org.apache.mahout.cf.taste.recommender.RecommendedItem;

@ManagedBean(name="similarvaluerecommender")
@ViewScoped

public class SimilarValueRecommender implements Serializable {
public List<RecommendedItem> recommendedItems;
@PostConstruct
public List<RecommendedItem> loadRec(){
this.recommendedItems = new ArrayList<>();
       DataModel dm;
        try {
        dm = new FileDataModel(new File("Dataset/userdata.csv"));

    //ItemSimilarity sim = new LogLikelihoodSimilarity(dm);
        TanimotoCoefficientSimilarity sim = new TanimotoCoefficientSimilarity(dm);
        GenericItemBasedRecommender recommender = new GenericItemBasedRecommender(dm, sim);
        int x=1;

        for(LongPrimitiveIterator items = dm.getItemIDs(); items.hasNext();) {
            long itemId = items.nextLong();
          List<RecommendedItem>recommendations = recommender.mostSimilarItems(itemId, 10);


            this.recommendedItems.addAll(recommendations);
            setList(recommendations);

            x++;

        }
    } catch (TasteException ex) {
        Logger.getLogger(SimilarValueRecommender.class.getName()).log(Level.SEVERE, null, ex);
    }
    catch (IOException ex) {
        Logger.getLogger(SimilarValueRecommender.class.getName()).log(Level.SEVERE, null, ex);
    }
return recommendedItems;

}

//getter and setter...
 public List<RecommendedItem> getRecommendedItems(){
    return recommendedItems;
     }
 public void setList(List<RecommendedItem> recommendedItems) {
 this.recommendedItems=recommendedItems;
 }

  }
JSF页面:

 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml"   
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
  xmlns:f="http://xmlns.jcp.org/jsf/core"
  xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">
   <h:body>


  <ui:composition template="WEB-INF/commonlayout.xhtml">
    <ui:define name="content">
        <h:form>
            hi
            <h:dataTable id="similarvaluestable" value="# {similarvaluerecommender.recommendedItems}" var="recommendedItems">
            <h:column>
            #{recommendedItems.itemID}
       </h:column>

            </h:form>
         </ui:define>  
         </ui:composition>

         </h:body>
          </html>

缩小你的代码范围,要么你忘记关闭标签,要么你的代码输入错误。