2017-03-15 6 views
0

私は新しいjsfです。私はアップロードされたtxtに従ってコンボボックスを動的に埋めます。しかし、ıが選択されたコンボボックスの値を取得したいとき。私はそれを研究し、私のコードを適用しましたが、うまくいきません。選択された文字列は常にnullを返します。OneSelectMenuの値を取得する方法

 <p:dataTable id="cellEditingTable" var="message" 
     value="#{messageTableController.menuList}" paginator="true" 
     paginatorPosition="bottom" editable="true" editMode="cell"> 
     <f:facet name="header"> 
     PRE_INSTALL 
     </f:facet> 
     <p:column> 
      <f:facet name="header"> 
       <h:outputText value="Value" /> 
      </f:facet> 
      <h:outputText value="#{message.value}" /> 
     </p:column> 
     <p:column> 
      <f:facet name="header"> 
       <h:outputText value="Assign" /> 
      </f:facet> 
      <p:selectOneMenu value="#{messageTableController.selected}" 
       style="width:96%"> 
       <f:selectItem itemLabel="#{message.assign}" itemValue="1" /> 
       <f:selectItem itemLabel="#{message.combo}" itemValue="2" /> 
      </p:selectOneMenu> 
     </p:column> 
    </p:dataTable> 
    <br /> 
    <h:commandButton value="Submit Training" 
     action="#{messageTableController.submitTraining}"> 
    </h:commandButton> 

私のクラス

@ManagedBean 
@ViewScoped 
@SessionScoped 
public class MessageTableController implements Serializable { 

private static final long serialVersionUID = 20111020L; 

private UploadedFile file; 
private File f; 
private BufferedReader br; 
private String line; 
private String[] str;  
private String selected = "s"; 
private List<preList> menuList; 


public String getSelected() { 
    return selected; 
} 

public void setSelected(String selected) { 
    this.selected = selected; 
} 

public List<preList> getMenuList() { 
    return menuList; 
} 

public void setKullaniciList(List<preList> menuList) { 
    this.menuList = menuList; 
} 

public UploadedFile getFile() { 
    return file; 
} 

public void setFile(UploadedFile file) { 
    this.file = file; 
} 

public void upload() throws IOException { 
    if (file != null) { 
     FacesMessage message = new FacesMessage("Succesful", file.getFileName() + " is uploaded."); 
     FacesContext.getCurrentInstance().addMessage(null, message); 
     readUploadedFile(); 
    } 
} 

public void readUploadedFile() throws IOException { 
    f = new File(file.getFileName()); 
    br = new BufferedReader(new FileReader(f)); 
    menuList = new ArrayList<preList>(); 
    while ((line = br.readLine()) != null) { 
     if (line.contains("PI")) { 
      str = line.split("="); 
      if(str[1].contains("DISABLE")){ 
       menuList.add(new preList(str[0], str[1], "ENABLE")); 
      } 
      else if(str[1].contains("ENABLE")){ 
       menuList.add(new preList(str[0], str[1], "DISABLE")); 
      } 
      else if(str[1].contains("YES")){ 
       menuList.add(new preList(str[0], str[1], "NO")); 
      } 
      else if(str[1].contains("NO")){ 
       menuList.add(new preList(str[0], str[1], "YES")); 
      } 
      else{ 
       menuList.add(new preList(str[0], str[1], "")); 
      } 
     } 
    } 
    br.close(); 
} 

public String submitTraining(){ 
    return "selectedOptions"; 
} 


public class preList { 

    private String value; 

    private String assign; 

    private String combo; 

    public preList(String value, String assign, String combo) { 
     this.assign = assign; 
     this.value = value; 
     this.combo = combo; 
    } 
    //set get methods... 

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


<h:outputText value="#{messageTableController.selected}" /> 

</html> 

Output photo私はボタンの空のページが

+0

とコードの最後の部分何を意味するのですか? –

+0

[送信]ボタンをクリックすると、selectedOptions.xhtmlがトリガされ、コードの最後の部分である選択された値が表示されます。 –

+0

'System.out.println(私が見たいもの);を使用して表示を開始します(表示する前に)。 –

答えて

1

あなたManagedBeanが同じでビューやセッションスコープを持つべきではない開かれ、[送信]をクリックします時間、どちらかまたはそれです。私は両方の注釈を追加すると何が起こるのか試したことはありませんが、2番目のxhtmlファイルに移動した後、選択した値がもう存在しないので、ビュースコープが適用されるようです。あなたの豆)。 私はあなたを助けることができれば嬉しいです:)

+0

私はもうそれを必要としません、私は選択した値に達することを試みます:)あなたの答えをありがとう。 –

関連する問題