Cria uma Classe Professor, por exemplo:
pubic class Professor implements Serializable{
private String idprofessor;
// getters e setters
}
... e substitua pela classe Country que eu lhe passei como exemplo.
A sua classe Controle ficará mais ou menos assim:
package control;
import java.io.IOException;
import java.util.Map;
import javax.xml.parsers.ParserConfigurationException;
import org.primefaces.event.FileUploadEvent;
import org.xml.sax.SAXException;
import bean.LeituraXmlLattes;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
@ManagedBean
@SessionScoped
public class Controle {
private LeituraXml leitura;
private FileUploadController fileUpload;
private Professor professor = new Professor();
public Controle (){
leitura = new LeituraXml();
fileUpload = new FileUploadController();
}
public setProfessor(Professor professor){
this.professor = professor;
}
public getProfessor(){
return this.professor;
}
public void casaCurriculo(String idProfessor){
leitura.casarLattesQualis(idProfessor);
}
public void handleFileUpload(FileUploadEvent event)throws IOException {
fileUpload.handleFileUpload(event);
}
public void salvarCurriculo() throws ParserConfigurationException, SAXException, Exception{
fileUpload.salvar();
}
public void outcome(){
FacesContext fc = FacesContext.getCurrentInstance();
this.idProfessor = getIdProfessorParam(fc);
casaCurriculo(getIdProfessor());
}
//get value from "f:param"
public String getIdProfessorParam(FacesContext fc){
Map<String,String> params = fc.getExternalContext().getRequestParameterMap();
return params.get("idPessoa");
}
public String getIdProfessor() {
return idProfessor;
}
public void setIdProfessor(String idProfessor) {
this.idProfessor = idProfessor;
}
}
... sua pagina jsf assim:
<ui:composition template="index.xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.prime.com.tr/ui">
<ui:define name="principal">
<p:growl id="growl" showDetail="true" />
<p:accordionPanel autoHeight="false" onTabChangeUpdate="growl" effect="bounceslide">
<p:tab title="Classificação Qualis" id="clasQualis">
<h:panelGrid columns="2" cellpadding="10">
<br />
<br />
<h:form>
<h:inputText id="idProfessor" type="submit" value="#{controle.professor.idprofessor}" />
<p:commandButton id="submitButton" value="Classificar"
action="#{controle.outcome}">
</p:commandButton>
<br />
<br />
</h:form>
</h:panelGrid>
</p:tab>
</p:accordionPanel>
</ui:define>
</ui:composition>
... e se quiser utilizar o idprofessor dentro da classe Controle, faça this.professor.getIdprofessor();
Portanto, é uma boa prática que voce delegue essa responsabilidade idprofessor, para uma classe Professor.
Espero que tenha ficado claro, caso ainda tenha dúvidas e queira aprimorar os seus conhecimentos, estude com as apostilas da Caelum.
[]'s